首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jms : javax.naming.NoInitialContextException

Jms : javax.naming.NoInitialContextException
EN

Stack Overflow用户
提问于 2012-08-07 13:33:45
回答 1查看 2.1K关注 0票数 0

我是Jms的新手。我从sun网站下载了jms教程,当我使用本教程编写第一个jms应用程序时,我得到的exception.My代码如下所示。异常是命名异常:

代码语言:javascript
运行
复制
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 Exception in thread "main" java.lang.NullPointerException.

我的代码:

代码语言:javascript
运行
复制
public class SampleClass1 {
  public static void main(String[] args) throws NamingException, JMSException {

     Context context=new InitialContext();

    QueueConnectionFactory queueConnectionFactory=(QueueConnectionFactory)context.lookup("QueueConnectionFactory");

    Queue queue=(Queue) context.lookup("MyQueue");

    QueueConnection queueConnection=(QueueConnection) queueConnectionFactory.createQueueConnection();

    QueueSession queueSession=queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
    QueueSender queueSender=queueSession.createSender(queue);

    Message message=(Message) queueSession.createTextMessage("Hello Word");
    queueSender.send((javax.jms.Message) message);

    QueueReceiver queueReceiver=queueSession.createReceiver(queue);

    queueConnection.start();

    Message receivedMessage=(Message) queueReceiver.receive();
    System.out.println(receivedMessage.toString());


  }
}
EN

回答 1

Stack Overflow用户

发布于 2012-08-07 13:52:33

只有在像web容器这样的容器中运行时,才能使用下面的内容。它被称为上下文

代码语言:javascript
运行
复制
Context context=new InitialContext();

因为您的‘s是一个java桌面应用程序,所以您应该指定上下文工厂、提供者url等,请阅读这篇文章

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11847175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档