5.2. JBoss Microcontainer (JBoss AS 5.x) の使用


JBoss AS は AS 5 よりファイル名が -jboss-beans.xml で終わるファイルのデプロイメントによる POJO サービスのデプロイメントをサポートするようになりました。 POJO サービスは実装に Plain Old Java Object を使用します。 Plain Old Java Object とは、 特別なインターフェースの実装や特定のスーパークラスの拡張が必要ない単純な Java Bean のことです。 Cache は POJO サービスで、 Configuration のすべてのコンポーネントも POJO になります。 そのため、 必然的にこのような方法でキャッシュをデプロイすることになります。
キャッシュのデプロイメントは、 JBoss AS のコアを形成する JBoss Microcontainer を使用して行われます。 JBoss Microcontainer は洗練された IOC フレームワークで、 Spring と似ています。 基本的に、 -jboss-beans.xml ファイルは POJO サービスを構成するさまざまな Bean をどのように組み合わせるかを IOC フレームワークに伝えます。
Configuration コンポーネントによって公開される設定可能オプション毎に、 ゲッタ/セッタを設定クラスに定義する必要があります。 これは、 対応するプロパティが設定された時に JBoss Microcontainer が典型的な IOC の方法でこれらのメソッドを呼び出せるようにするため必要となります。
サーバーの lib ディレクトリに jbosscache-core.jar ライブラリと jgroups.jar ライブラリが存在するようしてください。 通常、 JBoss AS を all 設定で使用する場合に必要となります。 キャッシュ設定に応じて任意の jar (jdbm.jar など) が必要となります。
-beans.xml ファイルの例は次のようになります。 インストールされた JBoss AS 5 の server/all/deploy ディレクトリに他の例があります。
<?xml version="1.0" encoding="UTF-8"?>

<deployment xmlns="urn:jboss:bean-deployer:2.0">

   <!-- First we create a Configuration object for the cache -->
   <bean name="ExampleCacheConfig"
   		 class="org.jboss.cache.config.Configuration">
      
      <!-- Externally injected services -->  
      <property name="runtimeConfig">
         <bean class="org.jboss.cache.config.RuntimeConfig">
            <property name="transactionManager">
               <inject bean="jboss:service=TransactionManager" 
                       property="TransactionManager"/>
            </property>
            <property name="muxChannelFactory"><inject bean="JChannelFactory"/></property>
         </bean>
      </property>
      
      <property name="multiplexerStack">udp</property>

      <property name="clusterName">Example-EntityCache</property>
        
      <property name="isolationLevel">REPEATABLE_READ</property>

      <property name="cacheMode">REPL_SYNC</property>

      <property name="stateRetrievalTimeout">15000</property>

      <property name="syncReplTimeout">20000</property>

      <property name="lockAcquisitionTimeout">15000</property>
        
      <property name="exposeManagementStatistics">true</property>
   </bean>
   
   <!-- Factory to build the Cache. -->
   <bean name="DefaultCacheFactory" class="org.jboss.cache.DefaultCacheFactory">      
      <constructor factoryClass="org.jboss.cache.DefaultCacheFactory"
                   factoryMethod="getInstance" />
   </bean>
   
   <!-- The cache itself -->
   <bean name="ExampleCache" class="org.jboss.cache.Cache">
      
      <constructor factoryMethod="createCache">
          <factory bean="DefaultCacheFactory"/>
          <parameter class="org.jboss.cache.config.Configuration"><inject bean="ExampleCacheConfig"/></parameter>
          <parameter class="boolean">false</parameter>
      </constructor>
          
   </bean>

</deployment>
上記の構文に関する詳細は JBoss Microcontainer のドキュメント を参照してください。 基本的に、 各 bean 要素はオブジェクトを表し、 ConfigurationConfiguration オブジェクトの構成」 を作成するために使用されます。 DefaultCacheFactory Bean はキャッシュを構築し、 概念的に 「キャッシュのインスタンス化と起動」 の章と同じことを実行します。
上記の例で、 RuntimeConfig オブジェクトの使用を確認してみてください。 TransactionManager や JGroups の ChannelFactory などのマイクロコンテナが可視できる外部リソースは、 依存関係が RuntimeConfig に挿入されます。 ここでは、 AS における他のデプロイメント記述子の一部では参照された Bean が既に記述されていることが前提となっています。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る