- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
背景我是 php 和前端 Web 开发人员,使用 Netbeans 在 Java 中开发应用程序以从 websphere(我认为是 V8.5)JMS 队列中读取,然后向适当的脚本/服务器发出命令。这是我大约 10 年来第一次主要使用 Java,所以请多多包涵。我的初始测试应用程序在托管 jms 队列的服务器上运行良好,但在尝试从远程位置(目前恰好是 Windows,但最终将是 Linux)连接时,我一直遇到一个又一个错误。我一直在为缺乏 Java 经验、诊断 jar 问题和从 websphere 和其他地方找到明显需要的 jar 的过程而斗争,但最终遇到了困难。我见过很多答案,其中包含诸如“您需要正确的 jar 文件”之类的陈述,但没有说明哪些或者您需要 thisone.jar 以及一个引用的所有 jar。我不知道如何找出应该是什么 jar 。我读过一些帖子说这个过程应该只适用于我库中的一些 jar 。我完全卡住了...
错误我没有运气通过的错误
javax.naming.NamingException: Failed to initialize the ORB [Root
exception is org.omg.CORBA.INITIALIZE: can't instantiate default ORB
implementation com.ibm.CORBA.iiop.ORB
完整的消息是这样的
javax.naming.NamingException: Failed to initialize the ORB [Root exception is
org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation
com.ibm.CORBA.iiop.ORB vmcid: 0x0 minor code: 0 completed: No]
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:314)
javax.naming.NamingException: Failed to initialize the ORB [Root exception is org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation
com.ibm.CORBA.iiop.ORB vmcid: 0x0 minor code: 0 completed: No]
at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:384)
at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:113)
at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:428)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:144)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at jmstool2.JmsConn.CreateFactCon(JmsConn.java:101)
at jmstool2.JmsConn.connect(JmsConn.java:56)
at jmstool2.Jmstool2.main(Jmstool2.java:20)
Caused by: org.omg.CORBA.INITIALIZE: can't instantiate default ORB implementation com.ibm.CORBA.iiop.ORB vmcid: 0x0 minor code: 0 completed: No
at org.omg.CORBA.ORB.create_impl(ORB.java:327)
at org.omg.CORBA.ORB.init(ORB.java:367)
at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:85)
at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:174)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:97)
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:73)
at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:386)
at com.ibm.ws.naming.util.Helpers.getOrb(Helpers.java:305) ... 8 more
Caused by: java.lang.NoSuchFieldError: UNKNOWN
at com.ibm.rmi.util.RepositoryId.createHashString(RepositoryId.java:738)
at com.ibm.rmi.util.RepositoryId.<clinit>(RepositoryId.java:254)
at com.ibm.rmi.iiop.CDROutputStream.<clinit>(CDROutputStream.java:1107)
at com.ibm.rmi.corba.ORB.<init>(ORB.java:281) at com.ibm.rmi.iiop.ORB.<init>(ORB.java:187) at com.ibm.CORBA.iiop.ORB.<init>(ORB.java:576)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at org.omg.CORBA.ORB.create_impl(ORB.java:325) ... 15 more
我在做什么我已将以下 jar 添加到库中
javax.jms-1.1.jar
com.ibm.ws.orb_8.5.0.jar
com.ibm.ws.ejb.thinclient_8.5.0.jar
com.ibm.was.sib.client.thin.jms_8.5.0.jar
com.ibm.was.admin.client_8.5.0.jar
com.ibm.ws.messagingClient.ja
我还读到需要以下 jar
sibc.jms.jar
sibc.jndi.jar
sibc.orb.jar
我已经找到并添加了它们,尽管我还读到如果您拥有我已经拥有的瘦客户端,则不需要这些。
我正在使用 JDK1.7
context factory: com.ibm.websphere.naming.WsnInitialContextFactory
Provider URL: corbaloc:iiop:192.168.254.202:2809
正在创建上下文。但是无法建立队列工厂连接。我可以创建一个到 IP 地址的套接字并使用快速测试应用程序发布。
代码这是类文件和所有连接位。这是正在进行的完整工作。
import java.util.Hashtable;
import javax.naming.*;
import javax.jms.*;
import com.ibm.CORBA.*;
import com.ibm.ws.*; /*
/**
* Connection Factory Notes on IBM Websphere
*
* jndi/INConnectionFactory
* jndi/OUTConnectionFactory
*
* jndi/INQueue
* jndi/OUTQueue
*
* jndi/INActivation
* jndi/OUTActivation
*
* websphere server: 192.168.254.202
*
* JMS queued port: 5558 unsecured (MQ) and 5578 secure
* JMS Security Port 5557
* JMS Direct Port: 5559
* SOAP: 9976
* //other ports mentioned: 7276 (unsecured) and 7286 (secured)
* NOTE: A bootstrap address with no port specification defaults to port 2809
*/
public class JmsConn {
/*int jmsQueuedPort = 5558;
int jmsSecrityPort = 5557;
int jmsDirectPort = 5559;
int soapPort = 9976;*/
int bootstrap = 2809; //default port
int bootstrap10 = 2810;
int unSecPort = 7276;
String serverIP = "192.168.254.202";
String scheme = "corbaloc:iiop:"; //e.g. ws, ldap,iiop, corbaloc:iiop
String contextFactory = "com.ibm.websphere.naming.WsnInitialContextFactory";
String queueInName = "jndi/INQueue";
String queueOutName = "jndi/OUTQueue";
String outFactory = "jndi/OUTConnectionFactory";
String inFactory = "jndi/INConnectionFactory";
InitialContext jndiContext;
ConnectionFactory connectionFactory;
Connection qConn;
String providerUrl = scheme+serverIP+":"+bootstrap;
Session qSession;
Queue q;
public void connect() {
this.CreateContext();
this.CreateFactCon(this.outFactory);
this.getQueue(this.queueOutName);
}
public void Lookup(String thingToLookup){
try{
System.out.println("Attempting to lookup "+thingToLookup);
}catch(Exception ex){
System.out.println("ERROR: Could not perform lookup of " + thingToLookup +
System.lineSeparator() + ex.toString());
// System.out.println("Lookup Result: " + this.jndiContext.lookup);
System.exit(3);
}
}
public void CreateContext(){
try{
System.out.println("Attempting to create connection context");
Hashtable env = new Hashtable(); // [jh] in theory this has been superceeded
// and should use HashMap
env.put(Context.INITIAL_CONTEXT_FACTORY,this.contextFactory);
System.out.println("context factory: "+this.contextFactory);
System.out.println("Provider URL: "+this.providerUrl);
env.put(Context.PROVIDER_URL, providerUrl); //+":"+this.jmsDirectPort
try{
this.jndiContext = new InitialContext(env);
//this.jndiContext = new InitialContext();
}catch(NamingException e){
System.out.println("ERROR: Could not create JNDI context: " +
System.lineSeparator() + e.toString());
System.exit(1);
}
System.out.println("End of CreateContext.");
}catch(Exception exc){
System.out.println("ERROR in CreateContext: "+exc.toString());
System.exit(1);
}
}
public void CreateFactCon(String factory){
try{
System.out.println("Attmepting to create factory lookup:");
this.connectionFactory = (ConnectionFactory)this.jndiContext.lookup(factory);
}catch(NamingException e){
System.out.println("ERROR: Could not create factory connection:");
e.printStackTrace(System.err);
System.out.println(e.toString());
System.exit(2);
}
System.out.println("Lookup successfull:");
try{
System.out.println("Attmepting to create connection:");
this.qConn = this.connectionFactory.createConnection();
this.qSession = qConn.createSession(false,Session.AUTO_ACKNOWLEDGE);
}catch(Exception e){
e.printStackTrace(System.err);
System.out.println(e.toString());
System.exit(4);
}
System.out.println("Connection successful.");
System.out.println("End of CreateFactoryConnection.");
}
public void getQueue(String queueName){
try{
this.q = (Queue)this.jndiContext.lookup(queueName);
}catch(Exception e){
System.out.println("ERROR: Could not get Queue:");
e.printStackTrace(System.err);
System.out.println(e.toString());
System.exit(2);
}
}
}
更新将 jar 文件削减到
com.ibm.ws.orb_8.5.0.jar com.ibm.ws.wjb.thingclient_8.5.0.jar com.ibm.ws.sib.client.thin.jms_8.5.0.jar
抛出如下错误
javax.naming.NamingException: Error getting WsnNameService properties [Root exception is org.omg.CORBA.TRANSIENT: initial and forwarded IOR inaccessible vmcid: 0x4942f000 minor code: 3591 completed: No]
at com.ibm.ws.naming.util.WsnInitCtxFactory.mergeWsnNSProperties(WsnInitCtxFactory.java:1552)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootContextFromServer(WsnInitCtxFactory.java:1042)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:962)
at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:614)
at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:128)
at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:765)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:164)
at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at jmstool2.JmsConn.CreateFactCon(JmsConn.java:104)
at jmstool2.JmsConn.connect(JmsConn.java:59)
at jmstool2.Jmstool2.main(Jmstool2.java:20)
Caused by: org.omg.CORBA.TRANSIENT: initial and forwarded IOR inaccessible vmcid: 0x4942f000 minor code: 3591 completed: No
at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1250)
at com.ibm.CORBA.iiop.ClientDelegate.createRequest(ClientDelegate.java:1321)
at com.ibm.rmi.corba.ClientDelegate.createRequest(ClientDelegate.java:1146)
at com.ibm.CORBA.iiop.ClientDelegate.createRequest(ClientDelegate.java:1287)
at com.ibm.rmi.corba.ClientDelegate.request(ClientDelegate.java:1853)
at com.ibm.CORBA.iiop.ClientDelegate.request(ClientDelegate.java:1243)
at org.omg.CORBA.portable.ObjectImpl._request(ObjectImpl.java:449)
at com.ibm.WsnBootstrap._WsnNameServiceStub.getProperties(_WsnNameServiceStub.java:38)
at com.ibm.ws.naming.util.WsnInitCtxFactory.mergeWsnNSProperties(WsnInitCtxFactory.java:1549)
... 11 more
Java Result: 2
最佳答案
检查这个 - Installing and configuring the Thin Client for JMS with WebSphere Application Server .
你现在唯一需要的 jar 是:
com.ibm.ws.orb_8.5.0.jar
com.ibm.was.sib.client.thin.jms_8.5.0.jar
com.ibm.ws.ejb.thinclient_8.5.0.jar
所以请从你的类路径中删除所有其他的。并确保这些 jar 也在您的运行类路径中,而不仅仅是在构建期间。
对于初始上下文,请尝试以下操作:
Hastable env = new Hastable();
env.put(Context.PROVIDER_URL,"iiop://localhost:2809"); // if using default ports
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
InitialContext ctx = new InitialContext(env);
关于java - 来自远程客户端的 websphere jms 队列访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27962143/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!