如何在 Websphere 上配置本地和远程 ejb
我有一个带有 @local 和 @remote 注释的无状态 EJB SessionBean。该代码在 weblogic 服务器中运行良好。然而,将其部署到 Websphere 时出现以下异常。
bm.ejs.container.EJBConfigurationException: BUSINESS_INTERFACE_DESIGNATED_AS_BOTH_REMOTE_AND_LOCAL: 'oracle.odc.session.ODCSession'
oracle.odc.session.ODCSession 业务接口类不能同时是远程和本地的。
是否有任何解决方法可以使其工作而无需为远程和本地调用编写单独的 EJB?
I have a stateless EJB SessionBean with bith @local and @remote annotations. The code is working fine in weblogic server. However on deploying it to Websphere it gives following exception.
bm.ejs.container.EJBConfigurationException: BUSINESS_INTERFACE_DESIGNATED_AS_BOTH_REMOTE_AND_LOCAL: 'oracle.odc.session.ODCSession'
The oracle.odc.session.ODCSession business interface class cannot be both remote and local.
Is there any workaround available to make it work without writing seperate EJBs for remote and local invocation?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
一种解决方法是使用带有方法声明和方法的基本接口。然后有一个本地接口&远程接口,扩展基本接口,例如
One workaround is to have a base interface with the method declarations & then have a local interface & a remote inteface, which extend the base interface, e.g.
AFAIK 没有办法,该错误似乎非常具有描述性。
AFAIK there is no way, the error seems pretty descriptive.
来自 EJB 3.2 规范第 4.9.7 节:
您可以使用子接口作为解决方法:
请注意,远程接口上方法的参数和返回值将是按值传递,但本地接口上方法的参数和返回值将是按引用传递。
From section 4.9.7 of the EJB 3.2 specification:
You can use subinterfaces as a workaround:
Note that the parameters and return values of the methods on the remote interface will be pass-by-value but the parameters and return values of the methods on the local interface will be pass-by-reference.