ローカル以外で ActiveMQ を使用する方法がわかりません。
メッセージを交換する必要がある 2 台のマシンがあるとします。
マシン上で ActiveMQ ブローカーを起動します。
> ~/bin/activemq
次のようなものを使用します。
javax.naming.Context ctx = new InitialContext();
TopicConnectionFactory factory = (TopicConnectionFactory)ctx.lookup("connectionFactory");
conn = factory.createTopicConnection();
TopicSession session = conn.createTopicSession(false,TopicSession.AUTO_ACKNOWLEDGE);
Topic topic = null;
try{
topic = (Topic)ctx.lookup("MyTopic");
System.out.println("MyTopic was found");
}catch(NameNotFoundException nnfe){
topic = session.createTopic("MyTopic");
System.out.println("MyTopic was created");
}
TextMessage textMessage = session.createTextMessage();
TopicPublisher publisher = session.createPublisher(topic);
conn.start();
textMessage.setText("My topic message number");
publisher.publish(textMessage);
System.out.println("sendMessage2topic");
私が持っているjndi.propertiesの場所:
java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url = tcp://localhost:61616
しかし、このトピックをサブスクライブするには、他のマシンで何を作成すればよいでしょうか? 2 番目のマシンに 2 番目のローカル ActiveMQ ブローカーを作成し、最初のマシンにあるリモート トピックをサブスクライブする方法を教えてください。