メッセージングミドルウェアの選択
このページは、メッセージングミドルウェアのインストールを行ったあとにお読みください。
メッセージキューを指定する
環境 > アプリケーションを開きます。メッセージキュー設定欄の「メッセージジョブ機能を使用する」の選択肢を有効にします。
Apache Active MQ Artemis または Amazon MQ を利用する場合
"環境 > アプリケーション > メッセージキュー > メッセージジョブ機能を使用する" で "ActiveMQ" を選択してください。
Rabbit MQ を利用する場合
"RabbitMQ" を選択してください。
上記のいずれも選択されていない場合、以降に説明する非同期処理(メッセージジョブ機能)は利用できません。
サーバをインストールしない運用(インメモリでの動作)
"ActiveMQ" を選択し、さらに "ActiveMQ > 送信先" を "インメモリ" とすると、メッセージングミドルウェアを別途インストールすることなく非同期処理を実現することができます。
両方を利用する
Apache Active MQ Artemis と Rabbit MQ の両方を併用することもできます。"ActiveMQ" と "RabbitMQ" の両方を選択します。このとき "デフォルトの接続先" の設定が有効になります。送信先キュー名に指定がない場合は、このデフォルト接続先が用いられます。
Apache ActiveMQ Artemis
インストールした Apache ActiveMQ Artemis の情報を設定します。
設定欄 | 説明 |
送信先 | "インメモリ" と "ブローカー接続" のいずれかを選択する。"インメモリ" の場合、Wagbyに同梱されているActiveMQクライアントライブラリがメモリ上でキューを管理するため、別途 Apache ActiveMQ Artemis をインストールすることなく利用できる。Apache ActiveMQ Artemisをインストールしている環境では "ブローカー接続" を選択する。 |
ブローカーURL | 標準は "failover:(tcp://localhost:61616)?timeout=10000" となっている。これはApache ActiveMQ Artemisをローカルマシンで起動した場合のデフォルト値。送信先が "インメモリ" の場合、この設定は無視される。(*) |
ユーザ名 | インストール時に設定したユーザ名を指定する。送信先が "インメモリ" の場合、この設定は無視される。 |
パスワード | インストール時に設定したパスワードを指定する。送信先が "インメモリ" の場合、この設定は無視される。 |
ジョブを受信するキューの名前 | 標準は空白となっている。カスタマイズしてメッセージキュー名を指定したい場合に指定する。 |
Rabbit MQ
インストールした Rabbit MQ の情報を設定します。
設定欄 | 説明 |
RabbitMQホスト名 | ホスト名を指定する。未指定時はlocalhost。 |
RabbitMQポート番号 | 未指定時は5672。 |
RabbitMQユーザ名 | 未指定時はguest。 |
RabbitMQパスワード | 未指定時はguest。 |
使用するキューの名前 | 標準は空白とする。カスタマイズしてメッセージキュー名を指定したい場合に指定する。 |
ジョブを受信するキューの名前 | 標準は空白とする。カスタマイズしてメッセージキュー名を指定したい場合に指定する。 |
ホスト名、ポート番号、ユーザ名、パスワードの設定は、ビルドしたアプリケーションの WEB-INF/classes/application.properties に出力されます。
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
キュー名はビルドしたアプリケーションの WEB-INF/wagby-servlet/jfcMessageQueue.xml に出力されます。
キュー名の未指定時(空白設定)は、標準では "wagbyJobQueue" という名前のキューが用意されます。
具体的には「使用するキューの名前」は rabbit:queue へ、「ジョブを受信するキューの名前」は rabbit:listener の queues に反映されます。
<rabbit:queue name="wagbyJobQueue"/>
<rabbit:queue name="wagbyUploadUpdateJobQueue"/>
<rabbit:listener-container connection-factory="rabbitConnectionFactory">
<rabbit:listener
queues="wagbyJobQueue,wagbyUploadUpdateJobQueue"
ref="JobExecutionMessageListener" method="processQueue"/>
</rabbit:listener-container>
Amazon MQ
AWS に設定した Amazon MQ の情報を反映させます。
設定欄 | 説明 |
送信先 | "ブローカー接続" を選択する。 |
ブローカーURL | 例 failover:ssl://b-51d382de-d5a3-42c2-8d29-5a51d0489a0b-1.mq.ap-northeast-1.amazonaws.com:61617 |
ユーザ名 | AmazonMQの設定時に登録したユーザ名を指定する。 |
パスワード | AmazonMQの設定時に登録したパスワードを指定する。 |
ジョブを受信するキューの名前 | 標準は空白となっている。カスタマイズしてメッセージキュー名を指定したい場合に指定する。 |