2017-11-15 4 views
1

ネイティブライブラリ.soファイルをロードするjarがあります。このjarはサーバー上のjbossモジュールとして利用できます。ネイティブファイルは、クラスローダーごとに一度だけロードできます。 ear1ファイル内に2つのwarモジュールwar1、war2があります。モジュールがwar1 & war2の両方でjbossモジュールとして設定されている場合は、問題はありません。しかし、私はearfile/libにネイティブライブラリをロードしているジャーを設定し、そこから戦争を参照する代わりに、その作業を行う代替案を探しています。その特定のクラスは一度だけロードし、両方のwarファイルでshoudlを使用できるようにする必要があります。JBoss環境のWebアプリケーションよりもearファイルから共有ネイティブモジュールをロード

  • ソリューション:

我々は耳/ META-INFフォルダ内のJBossデプロイメントXMLファイルにサブ展開セクションを追加する必要があります。こうすることで、jbossモジュールを他のすべてのサブモジュール/ warモジュールで利用できるようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure> 
    <deployment> 
     <dependencies> 
      <module name="com.aexp.sec.crypto" export="TRUE" /> 
     </dependencies> 
    </deployment> 
    <sub-deployment name="crypto-war1-1.0-SNAPSHOT.war"> 
     <dependencies> 
      <module name="com.aexp.sec.crypto" /> 
     </dependencies> 
    </sub-deployment> 
    <sub-deployment name="crypto-war2-1.0-SNAPSHOT.war"> 
     <dependencies> 
      <module name="com.aexp.sec.crypto" /> 
     </dependencies> 
    </sub-deployment> 
</jboss-deployment-structure> 
+0

あなたはこれにコードを追加することはできますか?おかげさまで –

+0

。私はそれが働いた。 –

+0

下記のソリューションを追加しました。必要に応じて編集するか、これを閉じることができます。 –

答えて

1

注:将来の利用者の利益のために、私たちは耳/ META-INF内のJBossのデプロイXMLファイルにサブ展開セクションを追加する必要があり、以下の

を@Vamshidhar Cheburthyの溶液を加えますフォルダ。そうすれば、JBossモジュールを他のすべてのサブモジュール/ warモジュールで利用できるようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<jboss-deployment-structure> 
<deployment> 
    <dependencies> 
     <module name="com.aexp.sec.crypto" export="TRUE" /> 
    </dependencies> 
</deployment> 
<sub-deployment name="crypto-war1-1.0-SNAPSHOT.war"> 
    <dependencies> 
     <module name="com.aexp.sec.crypto" /> 
    </dependencies> 
</sub-deployment> 
<sub-deployment name="crypto-war2-1.0-SNAPSHOT.war"> 
    <dependencies> 
     <module name="com.aexp.sec.crypto" /> 
    </dependencies> 
</sub-deployment> 

関連する問題