我有一個包含一個Java EE 6戰項目如下:注入無狀態本地EJB(3.1)到@WebComponent中的WebLogic 12c中不工作
一個EJB聲明爲如此(這也是一個JAX-RS服務):
@Path("/booksList")
@Produces("application/json")
@Stateless
@LocalBean
@Local(BooksListEJB.class)
public class BooksListEJBImpl implements BooksListEJB
一個WebComponent的聲明爲這樣:
@WebServlet(urlPatterns="/initDbData")
public class DataInitListener extends HttpServlet {
@EJB
private BooksListEJB booksListEJB;
在WEB-INF文件夾中的空的beans.xml文件
當我的WebLogic 12c中部署它,我得到以下錯誤:
<Warning> <weblogic.jaxrs.onwls.deploy.ejb.provider.EJBComponentProviderFactory> <BEA-000000> <An instance of EJB class com.shivandragon.jee6TestService.ejb.impl.BooksListEJBImpl could not be looked up using simple form name. Attempting to look up using the fully-qualified form name.
javax.naming.NameNotFoundException: While trying to look up comp/env/BooksListEJBImpl in /app/webapp/jee6Test-service-0.1-SNAPSHOT.war/2039754748.; remaining na
me 'comp/env/BooksListEJBImpl'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1180)
at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:146)
at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:253)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:426)
at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)
Truncated. see log file for complete stacktrace
我看過類似的問題,並找到了建議,@ManagedBean添加到servlet。試過,但有同樣的錯誤。
我的問題是:
不應該在該工作中,我會濫用一些Java EE 6的指令/標準?
請刪除「@LocalBean」 – Sam
如果問題仍然存在,請暫時刪除Jax-RS註釋。爲了調試的緣故。 – Sam