NoInitialContextException:需要在环境或系统属性中指定类名

时间:2018-01-31 08:58:05

标签: java jms webmethods

我想使用JMS和通用消息服务器接收来自通用消息传递webmethods的消息。

在我收到的java类中,我得到了这个异常。

  

javax.naming.NoInitialContextException:需要在中指定类名   环境或系统属性,或作为applet参数,或在   应用程序资源文件:java.naming.factory.initial

这是我收到消息的代码。

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

这是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);}  
    }  
} 

0 个答案:

没有答案
相关问题