10.3. JDBC データベースを使用したメッセージングジャーナルの永続化

デフォルトのファイルベースのジャーナルを使用するのではなく、JDBC を使用してメッセージを永続化し、データをデータベースにバインドするように、JBoss EAP 7 メッセージングを設定できます。この設定を行うには、まず datasources サブシステムの datasource 要素を設定し、次に messaging-activemq サブシステムの server 要素で journal-datasource 属性を定義して、データソースを使用する必要があります。journal-datasource 属性が存在すると、ファイルベースのジャーナルではなくジャーナルエントリーをデータベースに永続化することを、メッセージングサブシステムに通知します。messaging -activemq サブシステムの server リソースの journal-database 属性は、データベースとの通信に使用される SQL ダイアレクトを定義します。これはデータソースメタデータを使用して自動的に設定されます。

メッセージをファイルベースのジャーナルに永続化すると、大きいメッセージのサイズはディスクのサイズによってのみ制限されます。ただし、メッセージをデータベースに永続化すると、大きなメッセージのサイズは、そのデータベースの BLOB データ型の最大サイズに制限されます。

重要

JBoss EAP 7.3 では現在、Oracle 12c および IBM DB2 Enterprise データベースのみをサポートします。

10.3.1. メッセージングジャーナル JDBC 永続ストアの設定

以下の手順に従って、JDBC を使用してメッセージを永続化し、データをデータベースにバインドするように、JBoss EAP 7 メッセージングを設定します。

  1. messaging-activemq サブシステムで使用するために、datasources サブシステムの datasource を設定します。データソースの作成と設定の方法の詳細は、JBoss EAP 『設定ガイド』の「データソース管理」を参照してください。
  2. messaging-activemq サブシステムを設定して新しいデータソースを使用します。

    /subsystem=messaging-activemq/server=default:write-attribute(name=journal-datasource,value="MessagingOracle12cDS")

    これにより、サーバー設定ファイルの messaging-activemq サブシステムに以下の設定が作成されます。

    <server name="default">
      <journal datasource="MessagingOracle12cDS"/>
      ...
    </server>

JBoss EAP メッセージングが、データベースを使用してメッセージングデータを格納するように設定されました。