2
0

More than 1 year has passed since last update.

tWAS 9.0 と MQ 9.2 でJMSを動かす

Last updated at Posted at 2023-04-24

目的

tWAS 9.0 と MQ 9.2 環境を構築してJMSをテストします。

Gitレポジトリ

用意したGitレポジトリをクローンします。

git clone https://github.com/pdprof/jms
cd jms/jms-docker/

MQイメージのビルド, tWASイメージのビルド

MQ, tWASのイメージをビルドします。localhost 以外の docker を動かしているホストのIPアドレスをACCESS_HOSTに指定します。Libertyの環境を流用しているのでLibertyもビルドされます。

export ACCESS_HOST=127.17.0.1
# export ACCESS_HOST=`hostname` # hostnameコマンドで返す値でアクセスできる場合
./setup-docker.sh
./setup-was90.sh

MQの起動

MQ以外にも docker images の用意はありますが、ここではMQを起動します。

./mq-start.sh

tWASは、MQ用にしか構成していないので、SIBusやActiveMQとは動作できません。

MQにアクセスするtWASの起動

JMSアプリケーションを実行するtWASを起動します。

./was90-start.sh

アプリケーションにアクセスして動作確認

http://localhost:9080/jms/
にアクセスすると以下画面が確認できます。localhost部分はACCESS_HOSTに指定したものと置き換えます。

image.png

Action, Queue, Message を指定してメッセージの送受信をします。
Q3はMDBが動作しているので、receiveAllの必要はありません。MDBが動いたタイミングでlibertyのログに受信したメッセージが出力されています。

[4/24/23 6:31:21:070 UTC] 0000008c SystemOut     O > PdprofJMSServlet.send
[4/24/23 6:31:21:103 UTC] 0000008c SystemOut     O = PdprofJMSServlet.send to queue:Q3
[4/24/23 6:31:21:107 UTC] 0000008c SystemOut     O < PdprofJMSServlet.send
[4/24/23 6:31:21:210 UTC] 0000008d SystemOut     O PdprofMdb.onMessage() - Message Received : 
  JMSMessage class: jms_text
  JMSType:          null
  JMSDeliveryMode:  2
  JMSDeliveryDelay: 0
  JMSDeliveryTime:  0
  JMSExpiration:    0
  JMSPriority:      4
  JMSMessageID:     ID:414d5120514d31202020202020202020ce1c4664022b0040
  JMSTimestamp:     1682317881097
  JMSCorrelationID: null
  JMSDestination:   queue://QM1/DEV.QUEUE.3
  JMSReplyTo:       null
  JMSRedelivered:   false
    JMSXAppID: bootstrap.WSPreLauncher     
    JMSXDeliveryCount: 1
    JMSXUserID: app         
    JMS_IBM_Character_Set: UTF-8
    JMS_IBM_Encoding: 273
    JMS_IBM_Format: MQSTR   
    JMS_IBM_MsgType: 8
    JMS_IBM_PutApplType: 28
    JMS_IBM_PutDate: 20230424
    JMS_IBM_PutTime: 06312109
test test test

まとめ

JMSの環境を構築して、テストをすることができました。これまでのテスト環境構築手順とあまり変わり映えしませんが、それだけ手軽に環境が構築できるのだと思ってもらえるとありがたいです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0