java - 使用 glassfish 服务器的 JMS 客户端

标签 java glassfish glassfish-3 glassfish-4.1

您好,我正在尝试从计算机中的本地客户端连接我的服务器 我有一个正在运行的远程服务器.. 当我从 Netbeans 运行我的代码时,一切正常...... 当我尝试使用 CMD 时,我收到此错误

java.lang.NullPointerException 在 com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:347) 在 com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:354) 在 com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:384) 在 com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:329) 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:477) 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438) 在 javax.naming.InitialContext.lookup(来源未知) 在 test4.Test4.main(Test4.java:45) 线程“main”javax.naming.NamingException中的异常:SerialContext中的“jms/connection”查找失败[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory、java.naming.factory.url.pkgs=com.sun.enterprise.naming、java.naming.factory.state=com.sun.corba.ee.impl。 presentation.rmi.JNDIStateFactoryImpl} [根异常是 javax.naming.NamingException: 无法获取 SerialContext 的 SerialContextProvider[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.s un.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [根异常是 java.lang.NullPointerException]] 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:491) 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438) 在 javax.naming.InitialContext.lookup(来源未知) 在 test4.Test4.main(Test4.java:45) 引起原因:javax.naming.NamingException:无法获取SerialContext的SerialContextProvider [myEnv = {java.naming.factory.initial = com.sun.enterprise.naming.impl.SerialInitContextFactory,java.naming.factory.url.pkgs = com.sun.enterprise.naming,java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.J NDIStateFactoryImpl} [根异常是 java.lang.NullPointerException] 在 com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:334) 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:477) ... 3 更多 引起原因:java.lang.NullPointerException 在 com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:347) 在 com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:354) 在 com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:384) 在 com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:329) ... 4 更多

public static void main(String[] args) throws NamingException {

    Context initialContext = Test4.getInitialContext();
    ConnectionFactory connectionFactory = (ConnectionFactory)initialContext.lookup("jms/connection");
    System.out.println("yeee:"+connectionFactory.toString());
    JMSContext jMSContext =  connectionFactory.createContext();
    Queue myQueue = (Queue)initialContext.lookup("jms/myQueue");
    JMSProducer jMSProducer = jMSContext.createProducer();
    jMSProducer.send(myQueue, "Hi,Zion");
    System.out.println("work work work wrok wrok");
}



 public static Context getInitialContext() throws NamingException{

    System.setProperty("org.omg.CORBA.ORBInitialHost", "MyIP");
    System.setProperty("org.omg.CORBA.ORBInitialPort", "3800");

    return new InitialContext();
}

最佳答案

好吧,我弄清楚了!我应该将所有路径与安装 glassfish 的 jars lib 放在一起,然后运行 ​​java -cp "c:/program Files/glassfish/lib/*"test 4.Test 4 可以关闭主题。

关于java - 使用 glassfish 服务器的 JMS 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52311257/

相关文章:

Java - 像素完美碰撞 - 玩家和墙壁之间的间隙

java - 在 GlassFish 中配置 jdbcRealm 的表命名约定

java - EJB 3.0 与 Maven 和 glassfish。错误: "it contains zero ejb"

css - 使用 Glassfish 3.1.2、JSF 2.0、PrimeFaces 和 ThemeRoller 时服务器返回不正确的文件内容

java - 我如何阻止字符串数组中的特定网址

java - 创建线程时,我们在构造函数中传递的参数包含(this)为什么要使用它?

java - arraylist 到数组唯一顺序

java - GlassFish 中的 "java.version"值比控制台上的值旧

java - Glassfish 崩溃(停止),没有调试信息

java.lang.ClassCastException : entity. SysLogEntity 无法转换为实体.SysLogEntity