使用glassfish服务器的JMS客户端

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用glassfish服务器的JMS客户端相关的知识,希望对你有一定的参考价值。

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

来自com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:354)的com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:347)中的java.lang.NullPointerException。位于com.sun.enterprise.naming.impl的com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:329)中的sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:384)。 SerialContext.lookup(SerialContext.java:477)位于test4.Test4.main的javax.naming.InitialContext.lookup(未知来源)的com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438) 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} [root异常是javax。 naming.N amingException:无法为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.JNDIStateFactoryImpl} [root exception is java.lang.NullPointerException]] at com.sun.enterprise.naming.impl.SerialContext.lookup( SerialContext.java:491)位于test4.Test4.main的javax.naming.InitialContext.lookup(Unknown Source)中的com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438)(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的com.sun.enterprise.naming,java.naming.factory.state = com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [root异常是java.lang.NullPointerException]。 sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:334)at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:477)... 3更多引起:java.lang com.sun.enterprise.naming.nmpl.SerialContext.getProviderCacheKey(SerialContext.java:354)的com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:347)中的.NullPointerException:com.sun.enterprise .naming.impl.SerialContext.getRemoteProvider(SerialContext.java:384)at 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的jar lib中并运行java -cp“c:/ programFiles / glassfish / lib / *”test4.Test4可以关闭主题。

以上是关于使用glassfish服务器的JMS客户端的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用哪些 maven 依赖项为 Glassfish 创建独立的 JMS 客户端?

将远程 JMS 客户端连接到 GlassFish 3

远程 JMS 队列的客户端

Glassfish JMS(平面文件)身份验证

尝试从 Glassfish 获取 JMS 资源时出现 javax.naming.NoInitialContextException

在 Glassfish 上使用 JMS 向世界打招呼