2017-02-03 5 views
1

、J2EEのこの機能を試してみるために、JCAアダプタを使って外部ストレージに接続しようとしています。私のシナリオではJCAコネクタクラスロード

私はJBoss EAP 7とその実装された実装ironjacamarを使用します。

iがadapter.jar(これはConnectionConnectionFactoryインタフェースおよびすべての実装が含ま)とMETA-INF/ironjacamar.xmlを含む、adapter.rarを展開します。

私はその後、注釈付きフィールドで豆を含む、app.warファイルをデプロイ:

@RequestScoped 
public class Bean { 
... 
    @Resource(lookup = "java:/eis/StorageConnectionFactory") 
     private StorageConnectionFactory connectionFactory; 
} 

戦争もライブラリとしてadapter.jarが含まれています - それは(実行時にすべてのクラスのがNoClassDefFoundを知っている必要があるとして、私の驚きになど)

、コネクタ自体が動作しているようです - 例外を取得しているよう:

java.lang.IllegalArgumentExceptionが:conn.Hにconn.StorageConnectionFactoryImplフィールドBean.connectionFactoryを設定できませんsmConnectionFactoryImp

とさえインターフェースをommitting上:

@Resource(lookup = "java:/eis/StorageConnectionFactory") 
    private StorageConnectionFactoryImpl connectionFactory; 

まだ

java.lang.IllegalArgumentException: Can not set conn.StorageConnectionFactoryImpl field Bean.connectionFactory to conn.HsmConnectionFactoryImp 

私は問題がadapter.rarがNTO app.warと同じクラスローダを共有しないこと、であることがわかりどちらもClassCastExceptionの一種につながる対応するクラスが含まれています - どのように私はこの問題を正しく解決するのですか?

答えて

関連する問題