当前位置: 技术问答>java相关
Ejb问题:在statefulbean中要調用一個statelessbean 調用部分怎麽寫?
来源: 互联网 发布时间:2015-01-08
本文导语: statefulbean 的jndi名為 MyAccount statelessbean 的jndi名為 InterestBean 我在MyAccount 定义一個方法 去调用 InterestBean 的方法!如下 请问这样是否正确,不知道在bean里面通过jndi去找一个bean并调用他的方法是否和...
statefulbean 的jndi名為 MyAccount
statelessbean 的jndi名為 InterestBean
我在MyAccount 定义一個方法 去调用 InterestBean 的方法!如下
请问这样是否正确,不知道在bean里面通过jndi去找一个bean并调用他的方法是否和在客户端里面一样?
public BigDecimal callInterestBean()
{
System.out.println("access countInterest" );
String lookForInterestBean = "java:comp/env/ejb/InterestBean";
try
{
Context initial = new InitialContext();
System.out.println("looking......" );
Object objref = initial.lookup(lookForInterestBean);
System.out.println("lookup "+lookForInterestBean +" ok" );
interestHome home =(interestHome)
PortableRemoteObject.narrow(objref,interestHome.class);
interestRemote interest = home.create();
System.out.println("InterestBean create ok");
BigDecimal in=interest.countInterest(account_ID);
System.out.println("InterestBean remove ok");
System.out.println(in);
return in;
}
catch (Exception ex)
{
System.err.println("Caught an exception." );
ex.printStackTrace();
}
return new BigDecimal(0);
}
statelessbean 的jndi名為 InterestBean
我在MyAccount 定义一個方法 去调用 InterestBean 的方法!如下
请问这样是否正确,不知道在bean里面通过jndi去找一个bean并调用他的方法是否和在客户端里面一样?
public BigDecimal callInterestBean()
{
System.out.println("access countInterest" );
String lookForInterestBean = "java:comp/env/ejb/InterestBean";
try
{
Context initial = new InitialContext();
System.out.println("looking......" );
Object objref = initial.lookup(lookForInterestBean);
System.out.println("lookup "+lookForInterestBean +" ok" );
interestHome home =(interestHome)
PortableRemoteObject.narrow(objref,interestHome.class);
interestRemote interest = home.create();
System.out.println("InterestBean create ok");
BigDecimal in=interest.countInterest(account_ID);
System.out.println("InterestBean remove ok");
System.out.println(in);
return in;
}
catch (Exception ex)
{
System.err.println("Caught an exception." );
ex.printStackTrace();
}
return new BigDecimal(0);
}
|
手边没有书,凭印象说的,有错欢迎指出:
ejb-reference 在你的ejb-jar.xml中配置如下,
Something about your interest bean.
ejb/InterestBean
Entity
packagename.interestHome
packagename.interestRemote
放在你的 之间,就在上头吧。
这种做法不管两个bean是不是在一个jar中都可以。
如果在一个jar中的话,好象可以由一个InterestBean就可以了。
ejb-reference 在你的ejb-jar.xml中配置如下,
Something about your interest bean.
ejb/InterestBean
Entity
packagename.interestHome
packagename.interestRemote
放在你的 之间,就在上头吧。
这种做法不管两个bean是不是在一个jar中都可以。
如果在一个jar中的话,好象可以由一个InterestBean就可以了。
|
1. 如果使用JNDI ENC,注意ejb-reference设置。
2. 如果使用和客户端一样的方法,注意jndi.properties文件或ENV设置。
2. 如果使用和客户端一样的方法,注意jndi.properties文件或ENV设置。
|
我觉得没有必要一定打包到一个.jar里,因为,我的Stateless Session bean调用CMP实体bean
时,并没有在一个.jar里,同样正常运行。
时,并没有在一个.jar里,同样正常运行。
|
不必两个ejb打到一个jar里.
与client调用一样.
与client调用一样.
|
ejb call ejb跟普通client调用一样。
|
写法是正确的
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。