从 Websphere 7 上的不同类加载器调用本地 ejb3 时出现 ClassCastException

发布于 2024-08-20 13:46:10 字数 194 浏览 8 评论 0原文

我有两只耳朵,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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

幻梦 2024-08-27 13:46:10

如果两个耳朵都在同一个服务器实例上运行,您可以将类加载器策略设置为“单一”,以便使用单个类加载器。
但话又说回来,如果两个 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)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文