ActiveMQ怎么实现两台服务器之间的通讯。比如A发消息给B,B能收到。具体的代码和配置。

ActiveMQ怎么实现两台服务器之间的通讯。比如A发消息给B,B能收到。具体的代码和配置。多谢!

public static void main(String[] args) throws JMSException {
String url = "tcp://localhost:61616";
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(
url);
// 设置用户名和密码,这个用户名和密码在conf目录下的credentials.properties文件中,也可以在activemq.xml中配置
connectionFactory.setUserName("system");
connectionFactory.setPassword("manager");
// 创建连接
Connection connection = connectionFactory.createConnection();
connection.start();
Session session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
// 创建目标,就创建主题也可以创建队列
Destination destination = session.createQueue("1230");
// 创建消息消费者
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
String selector = "JMSCorrelationID='" + "1001" + "'";
MessageConsumer consumer = session.createConsumer(destination,selector);
TextMessage tm = session.createTextMessage("12345111");
tm.setJMSCorrelationID("1001");
producer.send(tm);
while(true){
TextMessage tm1 = (TextMessage) consumer.receive(1000);
if(null!=tm1){
System.out.println(tm1);
tm1.acknowledge();
System.out.println(tm1.getText());
}
else
break;
}
consumer.close();
producer.close();
session.close();
connection.close();
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-19
公共静态无效的主要(字串[] args)抛出那么JMSException {
字符串URL =“TCP :/ /本地主机:61616;
ActiveMQConnectionFactory的connectionFactory =:新ActiveMQConnectionFactory(
); / /设置的用户名和密码,用户名和密码的conf目录credentials.properties的文件也可以被配置在activemq.xml
connectionFactory.setUserName“(”系统“);
”的connectionFactory setPassword( “经理人”);创建
/ /创建一个连接,
接口连接connectionFactory.createConnection();
connection.start的();
会话连接。会议上的(假Session.CLIENT_ACKNOWLEDGE);
/ /创建目标,创建一个主题,你也可以创建一个队列的
目的地的的的目标session.createQueue(“1230”); ...... /> / /创建一个消息消费者
MessageProducer:制造商的目标:= session.createProducer();

producer.setDeliveryMode(DeliveryMode.PERSISTENT);
字符串JMSCorrelationID “'S +”1001“+”'“;
”的MessageConsumer:消费者session.createConsumer(目标),选择
TextMessage的TM = session.createTextMessage(12345111);
TM。 setJMSCorrelationID(1001“);
producer.send(TM);
TextMessage的(真实){
TM1 =(TextMessage的介质)consumer.receive(1000);
(null! ,TM1){
System.out.println(TM1);
tm1.acknowledge();
System.out.println(tm1.getText());
}

突破;
}
consumer.close();
producer.close();
session.close(); BR />连接关闭();}

}
第2个回答  推荐于2016-09-27
公共静态无效的主要(字串[] args)抛出JMSException {
字符串URL =“TCP :/ /本地主机:61616”;
ActiveMQConnectionFactory的connectionFactory =新ActiveMQConnectionFactory(
); / /设置的用户名和密码,用户名和密码的的conf目录credentials.properties文件,也可以配置在activemq.xml
connectionFactory.setUserName的(“系统”);
的connectionFactory setPassword(“管理人”);
/ /创建一个连接
接口连接connectionFactory.createConnection();
connection.start();
届会议上连接。的的创建会话(假Session.CLIENT_ACKNOWLEDGE);
/ /创建一个目标是创建一个主题,也可以创建一个队列
目的地目的地session.createQueue(“1230”);
/ /创建一个消息消费者
MessageProducer上:= session.createProducer(目标)的生产商;
producer.setDeliveryMode(DeliveryMode.PERSISTENT);
字符串选择JMSCorrelationID =“的+ “1001”+“'”;
的MessageConsumer消费session.createConsumer(目标),选择
TextMessage的TM = session.createTextMessage(“12345111”);
tm.setJMSCorrelationID(“ 1001“);
producer.send(TM);
而(真){
TextMessage的TM1 =(TextMessage中)consumer.receive(1000);
(null! = TM1){
System.out.println(TM1);
tm1.acknowledge();
System.out.println(tm1.getText());
}
其他
打破;
}
consumer.close();
producer.close();
session.close();
连接。关闭();}

}本回答被提问者和网友采纳
第3个回答  2013-03-25
公共静态无效的主要(字串[] args)抛出那么JMSException {
字符串URL =“TCP :/ /本地主机:61616;
ActiveMQConnectionFactory的connectionFactory =:新ActiveMQConnectionFactory(
); / /设置的用户名和密码,用户名和密码的conf目录credentials.properties的文件也可以被配置在activemq.xml
connectionFactory.setUserName“(”系统“);
”的connectionFactory setPassword( “经理人”);
/ /创建一个连接的
接口连接connectionFactory.createConnection();
connection.start的()
会话连接。创建会议上的(假Session.CLIENT_ACKNOWLEDGE);
/ /创建目标,创建一个主题,你也可以创建一个队列的
目的地的的的目标session.createQueue(“1230”); ...... /> / /创建一个消息消费者
MessageProducer:制造商的目标:= session.createProducer();

producer.setDeliveryMode(DeliveryMode.PERSISTENT);
字符串JMSCorrelationID “'S +”1001“+”'“;
”的MessageConsumer:消费者session.createConsumer(目标),选择
TextMessage的TM = session.createTextMessage(12345111);
TM。 setJMSCorrelationID(1001“);
producer.send(TM);
TextMessage的(真实){
TM1 =(TextMessage的介质)consumer.receive(1000);
(null! ,TM1){
System.out.println(TM1);
tm1.acknowledge();
System.out.println(tm1.getText());
}

突破;
}
consumer.close();
producer.close();
session.close(); BR />连接关闭();}

}
相似回答