当前位置: 技术问答>java相关
再问session bean 调用entity Bean的问题
来源: 互联网 发布时间:2015-11-03
本文导语: entity 是local session 是local/emote 如果我要让finduser()返回collection 客户端调用finduser得到这个collection ,再iterate出来的类型是 哪个bean的什么接口类型? 我现在用的是entity bean的local remote 但出错 "Attempt to pass a reference...
entity 是local
session 是local/emote
如果我要让finduser()返回collection
客户端调用finduser得到这个collection ,再iterate出来的类型是
哪个bean的什么接口类型?
我现在用的是entity bean的local remote 但出错
"Attempt to pass a reference to an EJBLocalObject to a remote client. A local EJB component may only be accessed by clients co-located in the same ear or standalone jar file."
我不想试entity变成local/remote,因为我想访问entity Bean 都用session 来
实现,客户不直接访问entity bean ,由session Bean 访问entity Bean
客户通过session Bean的方法得到entity Bean的东西
我该怎么办呢?
如何把从entity bean里得到的collection 传给客户?
谢谢
session 是local/emote
如果我要让finduser()返回collection
客户端调用finduser得到这个collection ,再iterate出来的类型是
哪个bean的什么接口类型?
我现在用的是entity bean的local remote 但出错
"Attempt to pass a reference to an EJBLocalObject to a remote client. A local EJB component may only be accessed by clients co-located in the same ear or standalone jar file."
我不想试entity变成local/remote,因为我想访问entity Bean 都用session 来
实现,客户不直接访问entity bean ,由session Bean 访问entity Bean
客户通过session Bean的方法得到entity Bean的东西
我该怎么办呢?
如何把从entity bean里得到的collection 传给客户?
谢谢
|
要case成remoted的,不是local remote.因为是客户端调用阿。如果你不想客户端和你的entitybean发生任何关系,再session bean中把你取得的collection处理掉好了,在这里去iterator,再重新放再vector里面,传去客户端。呵呵,效率可能慢了。
|
如果你的session bean 和 entity bean在同一个ejb容器中,那么你的session bean 可以使用entity bean 的Local接口去调用entity bean 的方法。如果不是同一个ejb容易,那你的sessionbean还是要用entitybean的remote接口去调的。
客户端使用session bean的remote接口去调用那个session bean,获取session bean 从entitybean 中获取的collection
客户端使用session bean的remote接口去调用那个session bean,获取session bean 从entitybean 中获取的collection
|
用remote吧。在client 端调用remote方法就可以了。