客户如何调用EJB?
如果我的bean部署在A机器上的as上,而客户端在另外一台机器上,在客户端如何得到bean的home对象来创建ejb 对象从而调用bean的方法?? 问题点数:50、回复次数:12Top
1 楼wjmmml(笑着悲伤)回复于 2002-09-17 15:32:23 得分 5
客户端并不是说,在客户机上的。调用ejb的client只能是session bean,或者jsp,或者servlet,或者javabean,而这写都是运行在服务器上的,所以,不能放在另一台电脑上,不知道我说的,是否明白?也就是说,你的想法是不成立的。Top
2 楼wjmmml(笑着悲伤)回复于 2002-09-17 15:33:18 得分 5
以上是个人观点,如有误解,全因,本人才疏学浅。Top
3 楼outlier(抢分是有原则的)回复于 2002-09-17 15:41:37 得分 0
我觉得不太对,应为我记得有一点就是说ejb可以实现位置透明,客户端不需要知道bean的物理位置。可以有多个as,如果一个crash了,可以透明地将客户端地请求重定向到其他地as上,那照你那么说岂不是要将jsp或者什么地挪到另外一个as上去?Top
4 楼wjmmml(笑着悲伤)回复于 2002-09-17 15:50:33 得分 5
那就用iiop调用吧,就如jb里的测试客护端一样,你试试可以吗?Top
5 楼pentax()回复于 2002-09-17 15:53:34 得分 5
我觉得实际上wjmmml(笑着悲伤)说得很对,只不过具体定位好像可以由JNLP来定位。Top
6 楼inprise_lyj(只愛一點點)回复于 2002-09-17 15:54:05 得分 10
我認為在其它機子上調用EJB是可以的
主要是Context參數:如as 為ias:
Properties env=new Properties();
env.put("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory");
env.put("java.naming.provider.url","iiop://ip:9010");(ip為IAS所在的機子)
Context ctx=new InitialContext(env);
接下去照以前的就可
Top
7 楼wjmmml(笑着悲伤)回复于 2002-09-17 16:07:26 得分 5
对同意楼上的说法。其实这样的话,就是说你放调用ejb的程序的电脑也是一抬服务器了,而不是客户端。
这样的处理其实就是分布式。Top
8 楼zm_dino(吾本闲人)回复于 2002-09-17 16:30:46 得分 5
你只要知道as所在機器名或IP及EJB的JNDI名就可以通過JNDI去訪問EJB.而不用去管EJB在遠端還是本地.
另:用什麼調用EJB不是主要.JAVA的UI也可能調用EJB,只要你能找到as所在的機器就行了Top
9 楼outlier(抢分是有原则的)回复于 2002-09-17 17:15:27 得分 0
我觉得应该是可以在不同地机器上调用的,关键是JNDI,但是不太清楚JNDI具体怎么操作。是不是as所在的机器和客户端都要安装支持JNDI的软件,EJB在as上部署了之后是否还要在JNDI软件中注册。那位高人解释一下。
inprise_lyj(快客)说的方法需不需要安装额外的软件?
ps:很高兴大家能来讨论这个问题,多谢了。Top
10 楼outlier(抢分是有原则的)回复于 2002-09-17 17:21:30 得分 0
to:zm_dino(dino)&inprise_lyj(快客)
两位说的方法是不是只要是在J2EE环境下就可以实现?Top
11 楼lifeiqhp(飛哥)回复于 2002-09-17 17:24:47 得分 5
肯定可以在不同的機子上調用EJB了;就 inprise_lyj(快客) 說的那樣;
Top
12 楼nullhue(dream.vision.realiz)回复于 2002-09-17 17:28:01 得分 5
如果你有weblogic就可以实现.
并且使用ejbcTop




