2011-08-10 36 views
0

我有@Local接口和@Stateless实现。向无状态本地EJB注入资源

关于执行是@Resource(mappedName =“java:/ XXMail”)javax.mail.Session。

它仍然为空,虽然并没有注入,但通过InitialContext的JNDI查找工作正常。

任何想法我可以检查或如何调试?我们中的几个人已经倒了一段时间没有任何运气。道歉,我不能发布代码本身,因为它在一个封闭的网络上。

+0

但是你可以创建示例应用在再现问题,所以我们可以尝试它,重现它。 – balent

+0

我没有看到添加任何值。 – rich

+0

我可以看到你已经将这个标签标记为jboss-5.x,但是具体版本是什么,你可以发布你的邮件会话配置吗? –

回答

0

虽然这个问题可能不再相关,但根本问题及其解决方案可能对其他人有价值。在大多数情况下,问题是由实例化implementating bean的一个新的对象,而不是使用代理接口等引起:

ObjectBean obj = new ObjectBean(); 

这不会引发CDI和therfore所有注释资源将。由通过JNDI或注释的资源查找使用接口,而不是将解决此问题:

ObjectBeanInterface obj = new InitialContext().lookup("java:module/ObjectBean!org.mycompany.ObjectBeanInterface");