我试着用
@Resource(mappedName = "jms/ConnectionFactory")
private static ConnectionFactory connectionFactory;
@Resource(mappedName = "jms/Queue")
private static Queue queue;
在 Glassfish (4.0) 中运行的应用程序中实例化 JMS 内容。
我通过 NetBeans (7.4rc1) 向导创建了这些资源,并看到他们使用此连接器资源在 /setup/ 中创建了 glassfish-resources.xml。我根据 Glassfish 的asadmin list-jms-resources命令(以及基于 Web 的管理页面)验证了资源是否可用。
但是每当我尝试访问我的应用程序中的这些字段时,它们都是null。
我看到在 eclipse 中运行应用程序时可能会发生这个问题(在 eclipse中运行 jms 示例时资源注入不起作用。)但是我从 NetBeans 启动我的应用程序(它会自动启动集成的 Glassfish 并带来 - 我想 - 一切都出来了 -开箱即用)。
我还看到使用 @Resource 使用 Java EE 6 和 Glassfish 3.1 注入资源时遇到问题,但经过交叉检查,查找名称已经正确。
其他提示我必须注意什么才能使 JNDI 查找工作?