从 Websphere 7 上的不同类加载器调用本地 ejb3 时出现 ClassCastException
我有两只耳朵,ear1 包含一个 ejb 项目和客户端,包含接口(本地)。 Ear2包含一个需要调用ejb3服务的war。当我调用 ejb 服务时,我收到一个 classcastException,我想是因为这里涉及两个类加载器。有没有一种干净的方法来实现这一目标?
我正在 RAD75 和 Websphere 7.0.0.7 中工作,
谢谢
I have two ears, ear1 contains an ejb project and client, containing the interfaces (local). Ear2 contains a war that needs to call the ejb3 service. When I call the ejb service I am getting a classcastexception, I think because there are two classloaders involved here. Is there a clean way to achieve this?
I'm working in RAD75 and Websphere 7.0.0.7
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果两个耳朵都在同一个服务器实例上运行,您可以将类加载器策略设置为“单一”,以便使用单个类加载器。
但话又说回来,如果两个 EAR 都运行在同一台服务器上,那么更好的选择是将战争打包在 EAR1 中。这样您就不必更改类加载器策略(因此可能在同一服务器上运行的其他应用程序不会受到影响)
If both the ears run on the same server instance, you could set the Classloader Policy to "single" so that a single classloader is used.
But then again, if both the EARs run on the same server, then a better option would be to package the war within the EAR1. This way you do not have to change the Classloader Policy ( and hence other apps that may run on the same server will not be impacted)