4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Liberty で JMSを試す

Last updated at Posted at 2023-03-27

目的

JMS環境を構築してJMSをテストします。

Gitレポジトリ

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

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

Libertyイメージのビルド

Liberty Docker イメージをビルドします。localhost 以外の docker を動かしているホストのIPアドレスをACCESS_HOSTに指定します。

export ACCESS_HOST=127.17.0.1
# export ACCESS_HOST=`hostname`
./setup-docker.sh

MQの起動

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

./mq-start.sh

Libertyを SIBusとして使用するときは ./jms-sib-start.sh を実行します。
ActiveMQを使用するときは ./amq-start.sh を実行します。

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

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

./jms-mq-start.sh

SIBusのクライアントは ./jms-sib-client-start.sh で起動します。
ActiveMQのクライアントは ./jms-amq-start.sh で起動します。

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

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

image.png

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

docker logs jms-mq
> PdprofJMSServlet.send
= PdprofJMSServlet.send to queue:Q3
< PdprofJMSServlet.send
PdprofMdb.onMessage() - Message Received : 
  JMSMessage class: jms_text
  JMSType:          null
  JMSDeliveryMode:  2
  JMSDeliveryDelay: 0
  JMSDeliveryTime:  0
  JMSExpiration:    0
  JMSPriority:      4
  JMSMessageID:     ID:414d5120514d31202020202020202020463f2164012c0040
  JMSTimestamp:     1679900861743
  JMSCorrelationID: null
  JMSDestination:   queue://QM1/DEV.QUEUE.3
  JMSReplyTo:       null
  JMSRedelivered:   false
    JMSXAppID: jar                         
    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: 20230327
    JMS_IBM_PutTime: 07074175
test

まとめ

JMSの環境を構築して、テストをすることができました。

4
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?