2017-03-28 5 views
2

私はActiveMQを使用しています。一部のメッセージ用にプロデューサとコンシューマを作成します。ActiveMQをプログラムではなくサービスとして開始する

この方法で私は接続を作成し、私は先の作成:

ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(username,password,"tcp://localhost:61616"); 
Connection connection = factory.createConnection(); 
connection.start(); 
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 
Destination destination = session.createQueue("MyQueue"); 

私がプロデューサーを作成し、メッセージ送信この方法:

Producer producer = session.createProducer(destination); 
producer.send(msgToSend); 

私は消費者の作成をして、私はに設定それはリスナー(MessageListenerインターフェイスを実装するクラス)

Consumer consumer = session.createConsumer(destination); 
consumer.setMessageListener(this); 

オンザマーは目的地に接続し、メッセージを聞いています。 キュー "MyQueue"からメッセージを取得すると、MessageListenerのonMessage()メソッドがトリガされ、メッセージで必要な処理を行います。

私のコードの仕事と私はメッセージを生成し、消費することができます。プロデューサはサーバ上にあり、コンシューマはクライアント上にあります(別のプロジェクト)。

私は動作させるために、hereからapache-activemq-5.14.4-bin.zipをインストールしました。

<dependency> 
    <groupId>org.apache.activemq</groupId> 
    <artifactId>activemq-all</artifactId> 
    <version>5.14.0</version> 
</dependency> 

さて、ActiveMQは、コンピュータの起動時に起動するサービスです。私はサービスとしてインストールするのではなく、Javaでプログラムを起動して停止します。 exampeの場合、Startボタンを押してコードを実行して起動し、presを停止して停止します。

プログラムとしてActiveMQをサービスとしてインストールすることはできますか?

答えて

関連する問題