大家好,
每当新版本的JBoss推出时,我总是很苦恼地不得不重新学习和浪费时间。
我有一个无状态的EJB,在JNDI空间中被发现和声明:
10:01:53,044 INFO [org.jboss.ejb3.proxy.impl.jndiregistrar.JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
DTalk/UserManager/local - EJB3.x Default Local Business Interface
DTalk/UserManager/local-com.doctalk.ejb.UserManagerLocal - EJB3.x Local Business Interface
我需要在一个war包中的servlet中使用这个EJB,而该war包又是包含该EJB的EAR的一部分。我希望使用注入来完成它。
当我使用最直观的符号时:
@EJB
private UserManager userManager;
我在 JBoss 日志中发现了一个异常。
当我使用更华丽的陈述方式,例如:
@EJB( mappedName = "UserManager" )
private UserManager userManager;
或者
@EJB( mappedName = "DTalk/UserManager/local" ) // EAR is called DTalk
private UserManager userManager;
我在jboss中没有收到任何注入错误,但被注入的bean为空。
这让人十分恼火,浪费了大量时间,让我开始怀疑为什么我不放弃Eclipse / JBoss工具并转而选择NetBeans和GlsssFish。
如果有任何见解,请告知。
谢谢。