首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaEE 6:如何在独立的JMS中注入JavaEE?

JavaEE 6:如何在独立的JMS中注入JavaEE?
EN

Stack Overflow用户
提问于 2011-09-07 07:51:26
回答 2查看 14.7K关注 0票数 9

我无法将javax.jms.ConnectionFactory注入到独立的JMS客户机中。我在下面的代码中得到了java.lang.NullPointerException at connectionFactory.createConnection()

JmsClient.java

代码语言:javascript
复制
public class JmsClient {

    @Resource(mappedName="jms/QueueConnectionFactory")
    private static ConnectionFactory connectionFactory;    

    @Resource(mappedName="jms/ShippingRequestQueue")
    private static Destination destination;

    public static void main(String[] args) {        
        try {
            Connection connection = connectionFactory.createConnection();
            connection.start();

            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
            MessageProducer producer = session.createProducer(destination);
            ObjectMessage message = session.createObjectMessage();

            ShippingRequestQueue shippingRequest = new ShippingRequestQueue(1, "107, Old Street");

            message.setObject(shippingRequest);
            producer.send(message);
            session.close();
            connection.close();

            System.out.println("Shipping request message sent ..");
        } catch (Throwable ex) {
            ex.printStackTrace();
        }        
    }

}

我在Open (MoM)上使用Glassfish 3.1管理控制台创建了相应的连接工厂和目的地资源。

有人能帮我理解我错过了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-23 10:46:31

资源注入只在托管环境中工作,例如Java应用服务器或Spring容器。独立应用程序JNDI中的是您唯一的选择

一般情况下,注释是由某个工具/框架处理的,而执行main()方法的普通JVM根本不包含这样的内容。我只知道JVM开箱即用的注释是编译时@Deprecated@Override@SuppressWarnings

回复您的评论:我无法访问这本书,所以我只能猜测它们可能描述了运行应用程序客户端组件和而不是独立应用程序客户端。这不一样- 检查玻璃鱼EJB常见问题。ACCs通常部署到应用服务器中,可以通过Java执行,也可以不通过Java执行,但以特定的方式执行。请参见玻璃鱼例子 (您没有说明在EJB中执行的是什么)。

票数 7
EN

Stack Overflow用户

发布于 2011-09-08 12:55:01

@skip:试试@Resource(name="jms/QueueConnectionFactory") instead of @Resource(mappedName="jms/QueueConnectionFactory")

name=JNDI名称如javax.annotation.Resource java文档所示。

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

https://stackoverflow.com/questions/7330500

复制
相关文章

相似问题

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