使用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类。是否缺少其他配置?
答案 0 :(得分:0)
根据对NullPointer in Glassfish when inject JMS @Resource的回答,我添加了@javax.ejb.Stateless
注释并且它有效。
后续问题:这是在JAX-RS资源类中启用JMS资源注入的推荐方法吗?