ejb3的一点问题

wj_fantasy 2010-05-06 10:16:41
最近在看ejb3.也不管以后用不用,就看看。

一个问题是,我写的一个客户端去访问容器中的session bean,在本机时访问时成功的,容器和客户端都是在同一个虚拟机上跑,我觉得这样理所应当。

我分开来执行,把客户端放到同一个局域网的别的机器上,执行就出错了,所需的jar包都是已经放过去了的。

ejb的客户端只能和容器同一个虚拟机?
另外,客户端里的代码有SimpleBeanLocal bean = (SimpleBeanLocal) ctx.lookup("simpleBean");
去jndi查找相应的bean来提供服务,这个jndi是在容器里提供的吧?
代码里没指定容器的地址端口,怎么能找到呢?同一个虚拟机还无所谓,要是在不同的机器上跑,我想应该指定的吧?

三个问号三个问题,望指教!谢谢~~
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
在同一个 JVM 进程中运行的话,session bean 只要标注 @Local 就可以了,如果在不同的 JVM 中或者是在不同的服务器上运行那必须使用 @Remote 标注为远程接口。

服务端把 session bean 的接口打成 jar 包给客户端。
a344654931 2010-05-07
  • 打赏
  • 举报
回复
我也正在学习,大家一同进步哈~~
minhw 2010-05-07
  • 打赏
  • 举报
回复
楼主研究一下@Remote @Local
wj_fantasy 2010-05-06
  • 打赏
  • 举报
回复
查了下,可以配置这个地址。jndi.properties~~!

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧