0

Oracle で複数のコンシューマ キューへの永続的なサブスクリプションを作成しようとしています。JMS Spring サポートの使用。これは Grails アプリケーションです。

私の春のコードは次のとおりです。

myQueueConnectionFactory(uk.my.MyQueueConnectionFactory) {
                dataSource = ref("dataSourceListener")
            }

            myMessageListener(uk.my.MyMessageListener)

            jms.'listener-container'( 'client-id':'clientid', 'connection-factory':'myQueueConnectionFactory', 'acknowledge':'auto', 'concurrency':'1', 'destination-type': 'topic' ) {
                jms.'listener'( destination:'my.queue', ref:'myMessageListener', subscription: 'subscription' )
            }

client-id と subscription の値を指定しました。しかし、キューに接続するたびに、新しいコンシューマーが登録されているようです。「TSUB_....」のように表示される アプリケーションを停止して開始すると、別のコンシューマが作成され、アプリケーションがダウンしている間にキューに追加されたメッセージはデキューされません。

永続的なサブスクリプションを作成するために、誰かが私を正しい方向に向けることができますか. 「client-id」と「subscription」の値でこれができると思っていました。これらを別の場所で指定する必要がありますか?

ありがとう!

4

1 に答える 1

1

わかりました、私はこれに対する解決策を見つけました。宛先タイプを「durableTopic」に更新するとうまくいきました。

于 2013-07-23T11:35:30.440 に答える