如何在JAX-RS REST Web服务中注入JMS资源?

时间:2013-04-30 07:45:28

标签: java glassfish jms jax-rs java-ee-6

使用GlassFish 3.1.2.1,我已经配置了JMS连接工厂和队列,可以使用@Resource注释在JavaServer Faces托管bean中注入。

但是,当我尝试在同一项目中的JAX-RS REST Web服务中使用这些JMS资源时,似乎缺少connectionFactory注入,并且在执行该行时存在NullPointerException:

connection = exampleQueueFactory.createConnection();

注射代码是

@Resource(mappedName = "ExampleQueue")
private Queue exampleQueue;
@Resource(mappedName = "ExampleQueueFactory")
private ConnectionFactory exampleQueueFactory;

当我在JSF托管bean中成功使用相同的注入时,我猜想GlassFish服务器在查找注入点时会跳过JAX-RS类。是否缺少其他配置?

1 个答案:

答案 0 :(得分:0)

根据对NullPointer in Glassfish when inject JMS @Resource的回答,我添加了@javax.ejb.Stateless注释并且它有效。

后续问题:这是在JAX-RS资源类中启用JMS资源注入的推荐方法吗?