2017-10-11 3 views
1

受信したすべてのメッセージを自動的にドロップするようにJMSメッセージキューを設定する方法はありますか? (つまり、送信者はメッセージが到着したように見える必要がありますが、キューは静かにドロップする必要があります。つまり、キューは「/ dev/null」のように動作するはずです)しかし、IBM MQでは、JMS仕様がこの可能性を提供するならば、それはさらに優れています。テスト目的ですべてのメッセージをドロップするようにJMSキューを設定する

私はすでに検索を試みていましたが、そのような可能性を見つけられなかったので、答えは「いいえ」と思われます。だから、これが事実であることを確認する答え(と私は何かが欠けていない)も私のために有効です。

使用例:実際のJMSキューにメッセージを送信するシステムをテストします。テストキュー内のメッセージは、他のプログラムによって読み取られません。 (私はJMSキューを模擬したくないので、テスト環境をできるだけプロダクションに近づけるようにしています。同じ理由で、クライアント側のメッセージの "time to live"を設定する有効な解決策でもありません。)

+0

キュー・マネージャ上で実行されているIBM MQのバージョンは何? – JoshMc

+0

私は確信していません...いくつかのバージョンには良い解決策がありますが、それは他のバージョンでは利用できませんか? – Attilio

+0

@JasonEが提供するpubサブソリューションはv7.0以降で動作し、v6以降では動作しません。 V7.5は現在サポートされている最低バージョンですが、まだサポートされていない非常に古いバージョンのMQを使用している人がまだ多いため尋ねました。 Jasonが提供したソリューションは、v7以降を実行していると仮定して提案したものです。あなたのコメントに基づいて、Rogerが提案したように、Jasonのようなものを探していたような解決策がありました.Jasonの答えを受け入れることをお勧めします。 – JoshMc

答えて

2

聞いていないトピックのエイリアスになるキューを作成するのはどうですか?

def qalias(MYQUEUE) target(DUMMYTOPIC) targtype(TOPIC) 
def topic(DUMMYTOPIC) topicstr(DUMMYTOPIC) 

は、例えば:次に、あなたはそれが公開になり、誰もがキューで待機している場合、それは消滅し、キューに入れることができます。たとえば、amqsput MYQUEUE QMは正常に動作します。

あなたが本当のキューにいずれかの点にQALIASを変更、メッセージを消費し、または例えばQLOCALとQALIAS定義を置き換えたいです。

誰もがすべてのトピックに加入している場合の唯一の欠点はあるが、あなたのことが可能

0

テスト目的のために、あなたは(上/オフ)を制御することができます異なるアプローチをしたい場合は、メッセージの流れが削除されている/削除MQサービスと私の 'emtyq'プログラムが別のオプションです。ここで

は、ライトアップだ私は、件名にしばらく前にやった:http://www.capitalware.com/rl_blog/?p=3680

+0

ええ(質問には書いていませんでしたが)、私たちのアプローチは似ています。キューを読み出すためのダミープログラムがあります。しかし、私は設定のみの方法を探していました(@ JasonEの答えに似ています)。それは面白いです:リンク先の下に、@ JasonEの答えの亜種も記載されています:) – Attilio

関連する問題