開発者の皆様、こんにちは。
ライブラリ名.java
を使用して2つのファイルを書きたいと思いますと.JMS
MessageProducer
MessageConsumer
activemq-all-5.8.0.jar
フォルダにとcommons-io-2.4.jar
ファイルを追加し、lib
のポート番号をActivemq
から61616
に変更しました61617
。
ファイルを使用してMessageProducer.java
、にメッセージを送信しますActivemq
。これについては、コードを書きましたが、正常に動作しています。見たい場合は、このリンクをクリックしてください。
Activemq
からにメッセージを送りたいですMessageConsumer.java
。これは アプリケーションはApache Tomcat
( http://localhost:8080/ExecutableFileProcess/MessageConsumer
)内にあります
メッセージを受信するとMessageConsumer
、メッセージ本文をメッセージから分離し、コンソールに出力するだけです(私のテスト用です)。このために、次の2つjava
のファイルを作成しました。しかし、機能していません。
MessageConsumer.java :
package PackageName;
import java.io.IOException;
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.MessageListener;
import javax.jms.Queue;
import javax.jms.Session;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.activemq.ActiveMQConnectionFactory;
public class MessageConsumer extends HttpServlet {
@Override
protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
throws ServletException, IOException {
try {
//creating connectionfactory object for way
ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("admin","admin","tcp://localhost:61617");
//establishing the connection b/w this Application and Activemq
Connection connection=connectionFactory.createConnection();
Session session=connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Queue queue=session.createQueue("MessageTesing");
javax.jms.MessageConsumer consumer=session.createConsumer(queue);
//fetching queues from Activemq
MessageListener listener = new MyListener();
consumer.setMessageListener(listener);
connection.start();
} catch (Exception e) {
// TODO: handle exception
}
}
}
MyListener.java :
package PackageName;
import javax.jms.Message;
import javax.jms.MessageListener;
public class MyListener implements MessageListener {
public void onMessage(Message msg) {
System.out.println(msg);
}
};
Queue in の宛先を構成していませんでした。Activemq console
また、からメッセージを送信するときに「宛先」についても言及していませんでしたMessageProducer.java
。
MessageConsumer.java
Eclipse を使用しています。メッセージ本文をコンソールに出力するにはどうすればよいですか。
私がしようとしていることを理解していただければ幸いです。
私は初めてなのでJMS
、Java
明確に説明できますか.これまでのところ、Google検索を使用してコードを記述しました.しかし、この問題はどこにも見つかりませんでした.
誰でも私に提案できますか。
ありがとう。