0

I want to recieve a message from universal messaging webmethods using JMS and universal messaging server.

And in my receive java class I get this exception.

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

this is my code to recieve message.

    public class MyReceiver {

    public static void main(String[] args) {  
        try {  
            //1) Create and start connection  
            InitialContext ctx=new InitialContext();  
            TopicConnectionFactory f=(TopicConnectionFactory)ctx.lookup("testFactory");  
            TopicConnection con=f.createTopicConnection();  
            con.start();  
            //2) create topic session  
            TopicSession ses=con.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);  
            //3) get the Topic object  
            Topic t=(Topic)ctx.lookup("nirvana");  
            //4)create TopicSubscriber  
            TopicSubscriber receiver=ses.createSubscriber(t);  

            //5) create listener object  
            MyListener listener=new MyListener();  

            //6) register the listener object with subscriber  
            receiver.setMessageListener(listener);  

            System.out.println("Subscriber1 is ready, waiting for messages...");  
            System.out.println("press Ctrl+c to shutdown...");  
            while(true){                  
                Thread.sleep(1000);  
            }  
        }catch(Exception e){System.out.println(e);}  
    }  
}

and this is MyListener.java

public class MyListener implements MessageListener {  

    public void onMessage(Message m) {  
        try{  
        TextMessage msg=(TextMessage)m;  

        System.out.println("following message is received:"+msg.getText());  
        }catch(JMSException e){System.out.println(e);}  
    }  
} 
Med Elgarnaoui
  • 1,612
  • 1
  • 18
  • 35

0 Answers0