Search code examples
javaglassfishglassfish-3glassfish-4.1

JMS Client using glassfish server


Hello i am trying to connect my server from a local client in my Computer I have a remote server running.. when I am running my code from Netbeans everything works fine... when i am trying from the CMD i am getting this error

java.lang.NullPointerException at com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:347) at com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:354) at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:384) at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:329) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:477) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438) at javax.naming.InitialContext.lookup(Unknown Source) at test4.Test4.main(Test4.java:45) Exception in thread "main" javax.naming.NamingException: Lookup failed for 'jms/connection' in SerialContext[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 javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[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) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:438) at javax.naming.InitialContext.lookup(Unknown Source) at test4.Test4.main(Test4.java:45) Caused by: javax.naming.NamingException: Unable to acquire SerialContextProvider for SerialContext[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.getProvider(SerialContext.java:334) at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:477) ... 3 more Caused by: java.lang.NullPointerException at com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:347) at com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:354) at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:384) at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:329) ... 4 more

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();
}

Solution

  • ok i figure it out!!!i should to put all the paths with the jars lib where the glassfish was installed and run java -cp "c:/programFiles/glassfish/lib/*" test4.Test4 can close the Topic.