Java 同一项目中的EJB本地和远程
我有一个带有DAO、服务和Web的应用程序 我想使用EJB本地和远程访问我的服务 我创建了一个接口来定义方法,并创建了一个带有Java 同一项目中的EJB本地和远程,java,ejb,Java,Ejb,我有一个带有DAO、服务和Web的应用程序 我想使用EJB本地和远程访问我的服务 我创建了一个接口来定义方法,并创建了一个带有@Local和另一个带有@Remote的接口,如下所示 与方法的接口: public interface OrigemArquivoClient extends BasicCrudFacade<OrigemArquivo, OrigemArquivoSearch, Integer> { public void doSomething(); }
@Local
和另一个带有@Remote
的接口,如下所示
与方法的接口:
public interface OrigemArquivoClient extends BasicCrudFacade<OrigemArquivo, OrigemArquivoSearch, Integer> {
public void doSomething();
}
接口@Remote
@Remote
public interface OrigemArquivoClientRemote extends BasicCrudFacade<OrigemArquivo, OrigemArquivoSearch, Integer>, OrigemArquivoClient {
}
对于remote,我正在尝试查找:
bean = ctx.lookup("java:global/" + ear + "/" + projeto + "/" + ejb);
用于查找的主机是java:global.EDIEAR.EDIWeb-0.0.1-SNAPSHOT.OrigemArquivoServiceBean
。但是,在weblogic中,jndi的末尾存在“!br
”,当我尝试使用它进行查找时,java:global.EDIEAR.EDIWeb-0.0.1-SNAPSHOT.OrigemArquivoServiceBean!br
我得到了下面的结果,它不是我的远程EJB,而是任何东西的weblogic实例
试试这样的事情:
try {
Context ctx = new InitialContext();
MyEJBLocal myEjb = (MyEJBLocal) ctx.lookup("java:comp/env/jndiName"); // suppose br???
} catch (NamingException e) {
throw new EJBException(e);
}
bean = ctx.lookup("java:global/" + ear + "/" + projeto + "/" + ejb);
try {
Context ctx = new InitialContext();
MyEJBLocal myEjb = (MyEJBLocal) ctx.lookup("java:comp/env/jndiName"); // suppose br???
} catch (NamingException e) {
throw new EJBException(e);
}