@Local
public interface EJBA{
// declares a method 'validate'
}
@Stateless
public class EJBABean implements EJBA{
// implements the method 'validate'
}
class Model{
@EJB
private EJBA ejbA;
public void doSomething(){
ejbA.validate();
}
}
现在,如果我从 Struts 1.2 动作类的执行方法中执行以下操作
new Model().validate();
Model 的ejbA为 null,导致NullPointerException。问题与此类似,但就我而言,我正在运行客户端代码(模型)以及 JBoss 6.1 Final 服务器本身中的 bean。模型和 EJB 位于单独的 jar 文件中,动作类位于 war 文件中。这两个都打包在一个ear文件中。
如果我使用[ear-name]/EJBABean/local使用上下文查找,我可以访问它。我究竟做错了什么 ?