Dependency injection weblgioc中的SLSB EJB 3.1引用

Dependency injection weblgioc中的SLSB EJB 3.1引用,dependency-injection,ejb,weblogic12c,Dependency Injection,Ejb,Weblogic12c,我已经在WebLogic12c上实现了简单的EJB3.0。EJB包含对另一个EJB的引用,作为声明为带有注释@EJB的已实现本地接口的引用的成员。当我调用封装EJB的方法时,我得到一个空指针异常。当我使用@SessionContext或@Resource respectivley注入会话上下文或数据源时,不会发生同样的情况。我想了解的是,我必须在中定义引用吗 在weblogic.xml中,用于链接两个EJB。对于所有生产级应用服务器,如jboss、websphere或Tomcat EE,情况都是

我已经在WebLogic12c上实现了简单的EJB3.0。EJB包含对另一个EJB的引用,作为声明为带有注释@EJB的已实现本地接口的引用的成员。当我调用封装EJB的方法时,我得到一个空指针异常。当我使用@SessionContext或@Resource respectivley注入会话上下文或数据源时,不会发生同样的情况。我想了解的是,我必须在中定义引用吗 在weblogic.xml中,用于链接两个EJB。对于所有生产级应用服务器,如jboss、websphere或Tomcat EE,情况都是一样的

以下是有关代码和部署的更多详细信息:

 @Remote
 public interface MyEjbRemote1 {
  abstract public void func1();    
}
 @Stateless 
public class MyEJB1 implements  MyEjbRemote1 {
 public void func1() {}
}
@Remote
public interface MyEjbRemote {
abstract public void func();
}

@Stateless
public class MyEjb implements MyEjbRemote, MyEjbLocal {
@EJB
MyEjbRemote1 ejb1;
@Resource
SessionContext sessionContext;
public void func() {    
    ejb1.func1();
}
public void func1() {
    System.out.println("Local interface call for EJB");
}
}
使用远程接口调用func1方法时引发空指针异常


我没有在ejb-jar.xml、weblogic-ejb-jar.xml或weblogic.xml中提供任何细节。我的问题是需要添加哪些详细信息。

您需要发布您的部署结构,并解释您试图从中访问的内容where@highstakes我已经编辑并添加了我的codedeployment structure=您的EAR或WAR结构设置。您可能从web层错误地访问了使用MyEjb的位置。或者您只是没有在application.xml中定义ejb模块。查看日志文件或管理控制台,查看您的EJB是否被正确识别,并且没有部署异常。@这里没有web层仅从SE客户端访问EJB,这在EE术语中是有效的。基于我对网上各种资源的阅读。EJB3.0中的DI根据接口类型自动向bean注入引用,它会自动查找JNDI树。我得到了什么错误尝试添加一个本地接口到它,因为你是在本地访问它。除此之外,如果您从客户端正确地执行JNDI查找,并且您的部署是一个JAREJB,那么我不知道问题出在哪里。