2011-08-10 6 views
6

hornetq-jmx.xml設定ファイルを使用してHornetQでJMSキューを作成できることがわかりました。しかし、私はクライアントからこれをやりたいですか?JMS/HornetQ =クライアントからプログラムによってJMSキューを作成する方法は?

は、私が試した:

HornetQJMSClient.createQueue(queueName); 

が、これは(HornetQはサーバー上の)キューを作成しないように見えますか?このキューのコンシューマを作成しようとすると、キューが不明であるという例外が常に発生します。

クライアントからJMSキューを作成する方法については、非常に感謝しています。 (私はJNDIをまったく使用したくないし、可能な場合はクライアント上でもサーバ上でも使用したくない)。

更新:

私はクライアントからのキューを作成するために(JMS APIに対立するものとして)HornetQsコアのAPIのいずれかを使用して気にしないだろう。私の質問です:(JMS ApisまたはHornetQ Core APIを使用して)クライアントからキューを作成する方法はありますか?

答えて

2

する必要はありません...キューの名前(JMSキューまたはコアキュー)を設定ファイルに指定する必要があります。

createQueue()メソッドを呼び出すときにその名前を「作成」していない場合は、クライアント側で参照を行い、それを使用して登録する(存在するかどうかを調べる)か否か)。

通常、リクエスト/レスポンスの動作を実装するときに、一時的なキューを作成することが最も近いでしょう。

+0

こんにちはエバートン。まずはお返事いただきありがとうございます!私はHornetQに新しいです:(私はそれに応じて質問を更新しました)。場合によっては、あなたは知っているでしょう:管理APIのような、コアAPIを使ってサーバ上でそれらを作成することを可能にするクラスを知っていますか? (ただし、JMXは対象外)。私はまだこのようなものは見つけられなかったが、おそらくそれは存在するかもしれない...)ありがとう。 – Markus

+0

下記の@Clebertの答えを確認してください。 :) – everton

+1

ここでは解決方法は、私は最終的に(何を探して知っているとき):http://community.jboss.org/thread/165303(これをあなたの答えにリンクすることができますmore abvious ;-) – Markus

2

管理APIを使用してキューを作成できます。

将来のバージョン(おそらく2.3.0)では、session.createQueueとcreateTopicも物理的なキューを作成します(あなたが認可を受けている限り)。

+1

こんにちはClebert。あなたの助けをありがとう!ちょうど、あなたがJboss/HornetQ Teamから来ているようです:あなたの素晴らしいプロジェクトに感謝​​します!良い仕事を続けてください。ホーネットは、infinispan(とjbossの他の多くのもの)のような、非常にクールな製品です。ありがとう。 – Markus

関連する問題