客户端应用访问EJB,服务器为WAS 6.1
前提:服务器端EAR包发布正确,必要的接口类已经被导出.
客户端设置:假设客户端为一个web应用,名称为test。
在WEB-INF里面的"ibm-web-bnd.xmi"里面增加如下代码:
<ejbRefBindings xmi:id="EnterpriseBeanBinding_1238728565453" jndiName="ejb/com/ncut/salab/epc/queryservice/SubscribeHome"> <bindingEjbRef href="WEB-INF/web.xml#EjbRef_1237982284250" /> </ejbRefBindings>
其中“EnterpriseBeanBinding_1238728565453”,是需要在client 应用里面使用的EJB,具体信息能够在服务器端的ejb-jar.xml找到,copy过来就可以了。
然后再web.xml里面添加:
<ejb-ref id="EjbRef_1237982284250"> <ejb-ref-name>ejb/Subscribe</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>com.ncut.salab.epc.queryservice.SubscribeHome</home> <remote>com.ncut.salab.epc.queryservice.Subscribe</remote> </ejb-ref>
这个的意思是添加一个ejb引用。注意这里面的id要和上面的<bindingEjbRef/>里面的一致。
访问代码如下:
Context ic = new InitialContext(); Object obj = ic.lookup("java:comp/env/ejb/Subscribe"); SubscribeHome home = (SubscribeHome)PortableRemoteObject.narrow(obj, SubscribeHome.class); Subscribe subscriber = home.create(); if(subscriber != null){ System.out.println("JNID find successfully !!"); }
如果客户端和服务器端都部署在一个JVM里面的话,context用默认的就可以,否则的话需要使用相应服务器的参数设置context。
相关推荐
celerylxq 2015-04-09
大数据实战派 2015-09-01
Gin工作室 2012-12-04
powerful 2013-10-20
xuguokun 2012-05-03
编程点滴 2012-02-14
Enjoyendless 2016-07-02
yangyong 2014-09-30
fightgirl 2013-06-27
BlogForUS 2013-05-13
systemxgl 2013-03-19
haidaoxianzi 2013-03-05
大米时代李东龙 2012-12-07
LemonSnm 2012-10-24
职业炮灰 2012-07-31
Assdqd 2012-05-25
MyIgnorance 2012-05-22
wangteng 2012-02-23
usstlidawei 2011-12-12