在J2EE / Weblogic 10上使用相同的类加载器共享接口类,而不使用系统类路径

时间:2010-01-27 17:48:28

标签: java-ee interface classloader weblogic-10.x classcastexception

我有一个在Weblogic 10.0(或10.3)appserver上运行的“框架”,其中框架由多个企业应用程序组成,每个应用程序负责不同的资源适配器。客户端应用程序部署到域中,使用JNDI获取对其中一个资源适配器Connector类的引用,进行调用并且每个人都满意。

祖先给我留下了连接器的接口类以及系统类路径上的接口类 - 这很好。

新要求是消除“污染”系统类路径,尽可能降低架构影响。我尝试了特定于WLS的“共享J2EE库”,但必须看到虽然我可以将接口类打包到库并在其他应用程序中引用它们,但这些类仍然由单独的应用程序类加载器加载,这样我得到当我尝试将JNDI-lookup'd对象强制转换为接口时出现ClassCastException。

你有什么建议知道的?目前我建议客户使用单独的域来为这个框架提供系统类路径条目,但不确定他们会接受它。

谢谢!

1 个答案:

答案 0 :(得分:0)

好的,我会在结束时得出结论,这是不可能的。我认为一个合适的解决方案是重写应用程序以使用远程EJB调用进行应用程序间通信。

另见Need help understanding JNDI and a particular ClassCastException in J2EE