===急救:为什么远程接口可以用,本地接口就不行??==== 可是进程列表中只有一个javaw.exe亚 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在jbuilder中用client测LocalHome是不行的要用servlet测试你可把client的代码拷到servlet 就算是只有一个javaw.exe,ejb是在ejb容器中维护的Context ctx = new InitialContext();得到的是什么?就是得到的这个容器和整个的信息不在容器中是不可以的Local在ejb容器管理时就不准外部的来调用,都是ejb容器说了算ok? 不好意思没看清楚ejb调用ejb可以是本地接口啊->但是我发现在EJB2中调用EJB1只能用远程接口,本地接口在lookup时候出错比如ejb2发布为Local,ejb1来调用,且都发布在同一容器中,是可以的不知道你上面这句话怎么来的 Object ref = ctx.lookup("java:/comp/env/h1Local");//本地接口这个不对吧,应该是Object ref = ctx.lookup("java:/comp/env/ejb/h1Local");//本地接口 ejb2.0里面可以将ejb发布成本地和远程两种,你的EJB发布的时候指定的访问方式是远程的还是本地的呢?我也初学。 我们采用的是weblogic7作为服务器,EJB1、2都是deploy到weblogic上面的,应该是同一个容器吧。 用EJB2访问EJB1,不是生成的客户端访问。应该没有必要用远程接口吧。 两个EJB都是有远程和本地两种接口。 lookup里面有没有ejb都试过了,还是不行。 rak:怎么指定访问模式? 在强调一下:环境是weblogic7+JBuilder7。有的网友说在weblogic tree中配置,我没有找到相应的配置方式。也许在JBuilder中可以配置,但是不知道怎么配置。 如果把EJB1、2放到一个包jar里面,也就是有共同的xml(可以有JBuilder7自动生成),访问本地接口就没有问题,但是如果在一个工程里面有EBJB1、2,同时生成两个jar,也就是说他们是独立的,就不行了。 还望高手指教。 打印调试信息看看: catch(Exception e) { System.out.println(e.getMessage()); System.out.println("Can't lookup"); e.printStack(); } Object ref = ctx.lookup("java:/comp/env/h1Local");//本地接口我使用的JBOSS,如下书写:Object ref = ctx.lookup("h1Local");试试看! 或者,ejb2中有没有添加对EJB1的引用?? 打印出的错误:javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/B.jar#B/comp/env/ALocal' Resolved: 'app/ejb/B.jar#B/comp/env' Unresolved:'ALocal' ; remaining name 'ALocal'但是在xml中(是JBuilder7自动生成的):<local-jndi-name>ALocal</local-jndi-name>另外,察看了JNDI Tree,结果如下:ALocal对应的是这个信息 Bind Name: ALocal 对了,有位高手说,在weblogic jndi中配置,我找到了他说的那个位置:EJBLocal Ref,但是究竟该怎么配置呢?假如EJB中A,本地接口是ALocal, B的本地接口是BLocal,主接口都是本地接口加上Home,那么我想在B中引用A,请问,该如何填写(要填写的表但如下) Description: EJBRef Name: EJBRef Type: Session (是会话Bean) Local Home: Local: EJBLink: 再把ejb-jar中对应这个EJB的session段拿出来看看!应有ejb-local-ref 段: <!ELEMENT ejb-local-ref (description?, ejb-ref-name, ejb-ref-type, local-home, local, ejb-link?)> Object ref = ctx.lookup("java:/comp/env/ejb/h1Local");//本地接口的访问方式Object ref = ctx.lookup("h1Local");//远程接口的访问方式即使发布在同一个weblogic中,如果ejb都指定为远程方式访问,用本地方式访问时会出错,你看一看你的ejb是如何指定的,我怀疑就是这个问题。 to:wks9577 不是这个问题,我这种方式也试过了,还是不行。 to:webswim 我的xml是JBuilder自动生成的,没有办法改亚 大神们帮忙啊 jsp与html的区别??? 关于阅读学习petstore和jlive源码问题 电子印章防伪技术? 在线等哪个老师帮我解决这个异常: org.apache.log4j 与 org.apache.commons.logging 请问哪里有java核心技术卷2的电子书籍下载阿? 100分!求助!JAVA如何用远程接口调用在群集中部署的EJB??? 求《精通Struts:基于MVC的Java Web设计与开发》附带的光盘代码 如何把数据导成WORD格式? csdn的论坛做的真烂,查询一个东西半天出不来 <mastering jakarta struts>中的问题,请高手指点?
要用servlet测试
你可把client的代码拷到servlet
Context ctx = new InitialContext();得到的是什么?就是得到的这个容器和整个的信息
不在容器中是不可以的
Local在ejb容器管理时就不准外部的来调用,都是ejb容器说了算
ok?
ejb调用ejb可以是本地接口啊->但是我发现在EJB2中调用EJB1只能用远程接口,本地接口在lookup时候出错
比如ejb2发布为Local,ejb1来调用,且都发布在同一容器中,是可以的
不知道你上面这句话怎么来的
这个不对吧,应该是
Object ref = ctx.lookup("java:/comp/env/ejb/h1Local");//本地接口
用EJB2访问EJB1,不是生成的客户端访问。应该没有必要用远程接口吧。
两个EJB都是有远程和本地两种接口。
lookup里面有没有ejb都试过了,还是不行。
rak:怎么指定访问模式?
在强调一下:环境是weblogic7+JBuilder7。有的网友说在weblogic tree中配置,我没有找到相应的配置方式。也许在JBuilder中可以配置,但是不知道怎么配置。
如果把EJB1、2放到一个包jar里面,也就是有共同的xml(可以有JBuilder7自动生成),访问本地接口就没有问题,但是如果在一个工程里面有EBJB1、2,同时生成两个jar,也就是说他们是独立的,就不行了。
还望高手指教。
catch(Exception e)
{
System.out.println(e.getMessage());
System.out.println("Can't lookup");
e.printStack();
}
我使用的JBOSS,
如下书写:
Object ref = ctx.lookup("h1Local");
试试看!
javax.naming.NameNotFoundException: Unable to resolve 'app/ejb/B.jar#B/comp/env/ALocal' Resolved: 'app/ejb/B.jar#B/comp/env' Unresolved:'ALocal' ; remaining name 'ALocal'但是在xml中(是JBuilder7自动生成的):
<local-jndi-name>ALocal</local-jndi-name>另外,察看了JNDI Tree,结果如下:
ALocal对应的是这个信息 Bind Name: ALocal 对了,有位高手说,在weblogic jndi中配置,我找到了他说的那个位置:EJBLocal Ref,但是究竟该怎么配置呢?
假如EJB中A,本地接口是ALocal, B的本地接口是BLocal,主接口都是本地接口加上Home,那么我想在B中引用A,请问,该如何填写(要填写的表但如下)
Description:
EJBRef Name:
EJBRef Type: Session (是会话Bean)
Local Home:
Local:
EJBLink:
再把ejb-jar中对应这个EJB的session段拿出来看看!应有ejb-local-ref 段:
<!ELEMENT ejb-local-ref (description?, ejb-ref-name, ejb-ref-type, local-home, local, ejb-link?)>
Object ref = ctx.lookup("h1Local");//远程接口的访问方式
即使发布在同一个weblogic中,如果ejb都指定为远程方式访问,用本地方式访问时会出错,你看一看你的ejb是如何指定的,我怀疑就是这个问题。
不是这个问题,我这种方式也试过了,还是不行。
to:webswim
我的xml是JBuilder自动生成的,没有办法改亚