【发布时间】:2014-02-20 07:51:57
【问题描述】:
是否可以创建一个访问 EJB3 bean 的客户端,而该客户端不依赖于供应商 JAR 或配置?我们目前需要支持我们的服务部署在 WebSphere 或 JBoss 服务器上,而客户端作为应用程序部署在 WAS 或 JBoss 上,或者作为独立应用程序运行的场景。
我以前可以使用 EJB2.x bean 来做到这一点,我只需要使用 RMIC 创建存根。
但是对于 EJB3,如果我要连接到 WebSphere,我必须包含瘦客户端 JAR,而且我必须使用 WAS 工具预先生成存根。对于 JBoss,我必须使用 jboss-client.jar。
【问题讨论】:
-
我会考虑使用 ws 而不是 ejb 进行远程调用
-
是的,我也想过这个问题,但我们已经在 EJB 中处于领先地位。此外,我们不能失去使用 RMI 获得的性能提升。
-
从我的过期时间来看,性能差异可以忽略不计。如果您担心 jax-ws 的性能,我想您也可以使用 jax-rs 和 java 序列化
-
我们正在发送非常大的对象。我们的测试显示使用 XML 的普通 servlet 调用的速度提高了近 50%。
-
然后试试jax-rs和java对象序列化,应该和rmi一样快。顺便说一句,你为什么在 jax-ws 服务上使用 servlet + xml(servlet + xml 组合很难获得正确的性能,尤其是如果你使用 jaxb 进行编组/解组)
标签: java jakarta-ee jboss7.x ejb-3.0 websphere-7