2012-03-23 10 views
0

ApacheMQを使用してEclipseで単純なJMS(従来のスプリングを使用しない)コードを実装しようとしています。ApacheMQを使用してJMSを実装できません

ApacheMQをapache.orgから、サンプルJMS送信者をSimpleQueueSenderから、受信者をSimpleQueueReceiverからそれぞれダウンロードしました。

このコードはどのように実行する必要がありますか?私はすでにすべての関連チュートリアルを終えましたが、これらの質問に対する答えを見つけることができませんでした。

はActiveMQが

INFO以下のように開始された後、すべてのクラスパスについて行われる変更、設定は何

  1. にソリューションを提案してください| jetty-7.1.6.v20100715 INFO | ActiveMQ WebConsoleが初期化されました。 INFO | Spring FrameworkServletのディスパッチャを初期化する INFO | ActiveMQ Console at http://0.0.0.0:8161/admin INFO | ActiveMQウェブデモ:http://0.0.0.0:8161/demo INFO | RESTfulファイルアクセスアプリケーション:http://0.0.0.0:8161/fileserver INFO |開始しました[email protected]:8161

    次に進む方法は?

    2.このサーバーをeclipseで新しいサーバーとして追加し、そのサーバーでプログラムを実行する必要がありますか?

    3.これらのプログラムをeclipseから実行できるか、別のコンソールから実行する必要がありますか?

答えて

2

あなたはActiveMQのに必要なすべてのjarファイルが含まれていることを確認するために、プロジェクトのビルドパス

ActiveMQのは、あなたの日食の環境とは独立して起動することができ、あなたの日食では、デフォルトのActiveMQ-all.jarをしています。

は、あなたの質問に答えるために: -

(1)自分のJMSアプリケーションの使用には次のプロパティ

java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory 
java.naming.provider.url = tcp://localhost:61616 

あなたはIPアドレスや127.0.0.1を使用することの代わりに、localhost

(2) eclipseにmq server(ブローカー)を追加する必要はありません。

(3)単純なjmsクライアントは、Javaビルドパスを適切に設定しているので、Eclipse実行メニューから実行できます。

+0

ありがとう、しかし、私はいくつかのより多くの瓶に欠けていると思う上記2つの行が追加されたときにエラーを表示しているjava.naming解決することはできません.. :(また、 "java.naming.factory.initial"のRHS。iam – Galaxin

+0

プロジェクトの一部としてサーバーランタイムライブラリ(JBossなど)を使用しようとしています。これは、名前を付けるために必要なすべてのライブラリを持っています –

+0

ありがとう、それはactivemq-all-5.4.1でうまくいきますactivemq-all-5.5.1。接続が確立されているが、後のjarを使ってセッションを作成していないときは気をつけています。5.5.1を使用している間に他のjarファイルも含まれていますか? – Galaxin

1

ActiveMQをダウンロードしている間。各オペレーティングシステム(Windows、Linux、Mac)の異なるサーバー(メッセージブローカー)が見つかります。ウィンドウを使用している場合は、ウィンドウOSのサーバを起動します。ActiveMQメッセージブローカが実行されている間は、管理用にhttp://localhost:8161/admin、デモ用にhttp://localhost:8161/demoのURLを開くことができます。

これらのJavaデモはwebappフォルダの下にあります。

私はActiveMQを使用してSpringでJMSを処理しました。したがって、JMSアプリケーションのサンプルを作成する場合は、Spring In Action 3.0が最適です。

メッセージブローカー(サーバー)をEclipseの内部に追加する必要はありません。 brokerUrlを "tcp:// localhost:61616"と指定し、実装した宛先トピックまたは宛先キューを定義してください。

+0

springを使用している場合と使用していない場合のJMSの使用の違いを理解できますか? JMSを春に使用している受信者は、JMSを実装している送信者からのメッセージを、春と午後の間に受け取ることができますか?それとも他の問題がありますか? – Galaxin

+0

実際には、SpringはJava JMSに基づいて構築されています。 Springは、送信者としても受信者としても使用できるjmsTemplateを提供します。 送信または受信メッセージにjmsTemplateを使用できます。メッセージが春か春かに関係なく、jmsTemplateを使用してメッセージを受け取ることができます。しかし、トピックまたはキューの宛先は同じでなければなりません。 –

関連する問題