17.6. 設定
17.6.1. JMS サーバーの設定
HornetQ 向けに JMS サーバーを設定するには、サーバー設定ファイルを編集します。サーバー設定は、ドメインサーバーの
EAP_HOME/domain/configuration/domain.xml
ファイル、またはスタンドアロンの EAP_HOME/standalone/configuration/standalone.xml
ファイルに含まれています。
<subsystem xmlns="urn:jboss:domain:messaging:1.3">
要素には、すべての JMS 設定が含まれています。JNDI に必要な JMS の ConnectionFactory
、Queue
、または Topic
インスタンスを追加します。
JBoss EAP 6 で JMS サブシステムを有効にします。
<extensions>
要素に、以下の行が存在し、コメントアウトされていないことを確認します。<extension module="org.jboss.as.messaging"/>
基本の JMS サブシステムを追加します。
メッセージングサブシステムが設定ファイルに存在しない場合は、追加します。- 使用するプロファイルに該当する
<profile>
を探し、<subsystems>
タグを見つけます。 <subsystems>
タグのすぐ下に新しい行を追加します。以下をその行に貼り付けます。<subsystem xmlns="urn:jboss:domain:messaging:1.3"> </subsystem>
その他の設定はすべて、その上の空いている行に追加します。
JMS の基本設定を追加します。
<journal-file-size>102400</journal-file-size> <journal-min-files>2</journal-min-files> <journal-type>NIO</journal-type> <!-- disable messaging persistence --> <persistence-enabled>false</persistence-enabled>
要件に合わせて上記の値をカスタマイズします。警告
journal-file-size
の値が、サーバーへ送信されたメッセージのサイズよりも大きくないと、サーバーはメッセージを格納できません。HornetQ に接続ファクトリインスタンスを追加します。
クライアントは、JMSConnectionFactory
オブジェクトを使い、サーバーへの接続を確立します。JMS 接続ファクトリーオブジェクトを HornetQ に追加するには、次のように接続ファクトリごとに、単一の<jms-connection-factories>
タグと<connection-factory>
要素が含まれるようにします。<subsystem xmlns="urn:jboss:domain:messaging:1.3"> ... <jms-connection-factories> <connection-factory name="myConnectionFactory"> <connectors> <connector-ref connector-name="netty"/> </connectors> <entries> <entry name="/ConnectionFactory"/> </entries> </connection-factory> </jms-connection-factories> ... </subsystem>
netty
コネクターを設定します。この JMS 接続ファクトリは、netty
コネクターを使用します。これは、サーバー設定ファイルにデプロイされたコネクターオブジェクトへの参照です。コネクターオブジェクトは、実際にサーバーへ接続するため使用する、トランスポートとパラメーターを定義します。netty
コネクターを設定するには、以下の設定が含まれるようにします。<subsystem xmlns="urn:jboss:domain:messaging:1.3"> ... <connectors> <netty-connector name="netty" socket-binding="messaging"/> <netty-connector name="netty-throughput" socket-binding="messaging-throughput"> <param key="batch-delay" value="50"/> </netty-connector> <in-vm-connector name="in-vm" server-id="0"/> </connectors> ... </subsystem>
コネクターは、messaging
およびmessaging-throughput
ソケットバインディングを参照します。messaging
ソケットバインディングは、ポート 5445 を使用し、messaging-throughput
ソケットバインディングはポート 5455 を使用します。 以下のソケットバインディングが<socket-binding-groups>
要素に存在するようにしてください。<socket-binding-groups> ... <socket-binding-group ... > <socket-binding name="messaging" port="5445"/> <socket-binding name="messaging-throughput" port="5455"/> ... </socket-binding-group> ... </socket-binding-groups>
キューインスタンスを HornetQ への追加します。
HornetQ 向けにキューインスタンス (または JMS 宛先) を設定する方法は 4 つあります。- 管理コンソールの使用管理コンソールを使用するには、サーバーを
Message-Enabled
モードで起動する必要があります。これには、-c
オプションを使用し、standalone-full.xml
(スタンドアロンサーバー向け) 設定ファイルの使用を強制します。たとえば、スタンドアロンモードでは以下を使用するとサーバーをメッセージ有効モードで起動できます。./standalone.sh -c standalone-full.xml
サーバーが起動したら、管理コンソールにログインし、Profile → Messaging → Destinations → default → View の順で選択します。Add ボタンをクリックし、JMS 宛先の詳細を入力します。 - 管理 CLI の使用:最初に、管理 CLI へ接続します。
bin/jboss-cli.sh --connect
次に、メッセージングサブシステムに移動します。cd /subsystem=messaging/hornetq-server=default
最後に、add 操作を実行します。以下の例の値は独自の値の置き換えてください。./jms-queue=testQueue:add(durable=false,entries=["java:jboss/exported/jms/queue/test"])
- JMS 設定ファイルの作成および deployments フォルダーへの追加最初に、JMS 設定ファイル example-jms.xml を作成します。以下のエントリーを追加し、値は独自の値に置き換えます。
<?xml version="1.0" encoding="UTF-8"?> <messaging-deployment xmlns="urn:jboss:messaging-deployment:1.0"> <hornetq-server> <jms-destinations> <jms-queue name="testQueue"> <entry name="queue/test"/> <entry name="java:jboss/exported/jms/queue/test"/> </jms-queue> <jms-topic name="testTopic"> <entry name="topic/test"/> <entry name="java:jboss/exported/jms/topic/test"/> </jms-topic> </jms-destinations> </hornetq-server> </messaging-deployment>
このファイルを deployments フォルダーに保存し、デプロイメントを実行します。 - JBoss EAP 6 の設定ファイルにエントリーを追加します。standalone-full.xml を例として使用し、このファイルでメッセージングサブシステムを見つけます。
<subsystem xmlns="urn:jboss:domain:messaging:1.3">
再度、以下のエントリーを追加し、例の値は独自の値に置き換えます。これらのエントリーは </jms-connection-factories> 終了タグと </hornetq-server> 要素の間に追加する必要があります。<jms-destinations> <jms-queue name="testQueue"> <entry name="queue/test"/> <entry name="java:jboss/exported/jms/queue/test"/> </jms-queue> <jms-topic name="testTopic"> <entry name="topic/test"/> <entry name="java:jboss/exported/jms/topic/test"/> </jms-topic> </jms-destinations>
追加設定
追加設定が必要な場合はEAP_HOME/docs/schema/jboss-messaging_1_3.xsd
の DTD を確認します。