JMS機能を使用する場合、以下に注意してください。
コンシューマのパフォーマンスについての注意事項
consumerFlowLimitプロパティの値を大きくした場合、コンシューマの多重化運用時やロールバック処理が頻繁に発生する運用では、パフォーマンスが低下する場合があります。
構築するシステムを考慮して、consumerFlowLimitプロパティの値を設定してください。
受信アプリケーションがnull復帰する場合の注意事項
受信アプリケーションで以下のメソッドを使用した場合に、受信可能なメッセージが存在するにもかかわらず、nullが復帰する場合があります。
jakarta.jms.MessageConsumer#receive(long)
jakarta.jms.MessageConsumer#receiveNoWait()
jakarta.jms.JMSConsumer#receive(long)
jakarta.jms.JMSConsumer#receiveNoWait()
jakarta.jms.JMSConsumer#receiveBody(Class<T>, long)
jakarta.jms.JMSConsumer#receiveBodyNoWait(Class<T>)
本現象が発生した場合は、上記メソッドのリトライを実施してください。
jakarta.jms.Session、jakarta.jms.JMSContextのメソッド使用時の注意事項
以下のメソッドを使用する場合は、jakarta.jms.MessageConsumer、jakarta.jms.JMSConsumerのcloseメソッドを使用しないでください。
jakarta.jms.Session#recover()
jakarta.jms.Session#rollback()
jakarta.jms.JMSContext#recover()
jakarta.jms.JMSContext#rollback()
MessageConsumerのcloseメソッドを実施する必要がある場合は、jakarta.jms.Session#close()を実施してください。
JMSConsumerのcloseメソッドを実施する必要がある場合は、jakarta.jms.JMSContext#close()を実施してください。
imqcmd list dur コマンド使用時の注意事項
メッセージブローカを再起動した場合、表示情報「Messages」に「0」が表示される場合があります。
imqcmd list dst コマンドで蓄積されているメッセージ数を確認してください。
imqcmd list dst コマンド使用時の注意事項
物理格納先タイプがQueueまたはQueue(temporary)の場合、表示情報「UnAck」には、トランザクション処理中の送受信メッセージ数と接続コンシューマに配信処理中のメッセージ数のみではなく、配信遅延中のメッセージ数も計上されます。物理格納先タイプがQueueまたはQueue(temporary)の場合に、トランザクション処理中の送受信メッセージ数と接続コンシューマに配信処理中のメッセージ数の総和を求めたい場合は、表示情報「UnAck」から表示情報「InDelay」を引いて算出してください。
アプリケーションクライアントコンテナを使用する場合の注意事項
クライアントパッケージでアプリケーションクライアントコンテナを使用する場合、クライアントパッケージの製品バージョンと、JMS接続ファクトリ、JMS送信先リソースを登録しているサーバパッケージの製品バージョンを同一にしてください。
メッセージのプロパティに関する注意事項
JMS2.0から、メッセージの配信を試行した回数を表すJMSXDeliveryCountプロパティが受信したメッセージに付与されるようになりました。送信アプリケーション側で設定していないプロパティが受信アプリケーション側で取得できるため、注意してください。