我尝试使用
@Resource(mappedName = "jms/ConnectionFactory")
private static ConnectionFactory connectionFactory;
@Resource(mappedName = "jms/Queue")
private static Queue queue;
在我在Glassfish(4.0)中运行的应用程序中实例化JMS内容。
我通过NetBeans(7.4rc1)向导创建了这些资源,并看到他们使用此connector-resource在/ setup /中创建了glassfish-resources.xml。 我根据Glassfish的 asadmin list-jms-resources 命令(以及在基于Web的管理页面中)验证了资源是否可用。
但每当我尝试在我的应用程序中访问这些字段时,它们都是 null 。
我看到在eclipse中运行应用程序时会出现此问题(Resources injection doesn't work when running jms examples in eclipse.) 但我从NetBeans开始我的应用程序(它会自动启动集成的Glassfish并带来 - 我想 - 一切都是开箱即用的。)
我也看到Trouble injecting resources with Java EE 6 and Glassfish 3.1 using @Resource但是交叉检查了查找名称是否正确。
其他提示我需要注意什么才能让JNDI查找工作?