私は、リソース アダプターの rar を外部化する作業を行っています。
以前は、rar は war の /lib 内にパッケージ化されていて、すべて正常に機能していました。war を軽量かつ一般的なものにするために、リソース アダプターを外部化します。
私がまだやったこと
Removed rars from war
installed rar externally through WAS7.0 Admin console
configured J2C connection factories for each RAR
クリーンな再起動を行ったところ、いくつかの ClassNotFoundErrors が発生しました。
これらのエラーが発生した理由: 基本的に、rars は /lib 内に存在するいくつかの jar を使用します。以前は問題はありませんでしたが、外部化すると CNFE が発生し始めました。
解決方法: WAS 管理コンソールから rar をインストールすると、クラスパスを提供するオプションがあります。そこでクラスパスで問題を引き起こしていたjarを提供しました。そして、アプリケーションをデプロイして開始することができました
問題:
アプリケーションにログインするとき。jar の 1 つにコード行があり (これは問題を引き起こし、リソース アダプターのクラスパスに追加されました。現在、これは war 内にあり、リソース アダプターのクラスパスにも存在することに注意してください)、型キャストを行っています。今回の発言について
例外が発生します
java.lang.ClassCastException: com.csc.fs.ra.SimpleMappedRecord incompatible with com.csc.fs.ra.SimpleMappedRecord
掘り下げたところ、考えられる原因は同じjarの複数のバージョンであることがわかりました。これは私の場合です。war ライブラリ内とリソース アダプタのクラスパス上に jar のバージョンがあります。
私はここでちょっとアイデアがありません。このような状況を解決するために何をすべきか。助けてください
よろしく