Java 同一项目中的EJB本地和远程

Java 同一项目中的EJB本地和远程,java,ejb,Java,Ejb,我有一个带有DAO、服务和Web的应用程序 我想使用EJB本地和远程访问我的服务 我创建了一个接口来定义方法,并创建了一个带有@Local和另一个带有@Remote的接口,如下所示 与方法的接口: public interface OrigemArquivoClient extends BasicCrudFacade<OrigemArquivo, OrigemArquivoSearch, Integer> { public void doSomething(); }

我有一个带有DAO、服务和Web的应用程序

我想使用EJB本地和远程访问我的服务

我创建了一个接口来定义方法,并创建了一个带有
@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);
}