我正在研究外部化资源适配器 rars。
早些时候,rar被打包在war的/lib中,一切正常。现在为了使战争变得轻松和通用,我想外部化资源适配器。
我已经做了什么
Removed rars from war
installed rar externally through WAS7.0 Admin console
configured J2C connection factories for each RAR
我做了一个干净的重启,我得到了一些 ClassNotFoundErrors。
为什么会出现这些错误:基本上 rars 使用 /lib 中存在的一些 jar。所以早些时候没有问题,但现在当我将它外部化时,我开始获得CNFE`s。
我是如何解决的:当我们通过 WAS 管理控制台安装 rar 时,可以选择提供类路径。我在那里提供了导致类路径问题的罐子。我可以部署并启动我的应用程序
问题:
当我登录我的应用程序时。其中一个 jar 中有一行代码(导致问题并被添加到资源适配器的类路径中,请注意,目前这存在于 war 中以及资源适配器的类路径中),正在执行类型转换。现在关于这个声明
我得到一个例外
java.lang.ClassCastException: com.csc.fs.ra.SimpleMappedRecord incompatible with com.csc.fs.ra.SimpleMappedRecord
我挖出来发现一个可能的原因是同一个罐子的多个版本。这是我的情况。我在战争库中有一个 jar 版本,也在资源适配器的类路径上。
我在这里有点想法。如何解决这种情况。请帮忙
问候