----------发送方代码为
import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.Topic;
public class MQ_Send{
public static void main(String[] args) throws JMSException
{
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");
Connection connection = factory.createConnection();
connection.start();
final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("Topics");
Queue replyQueue = session.createQueue("replyQueue");
MessageProducer producer = session.createProducer(topic);
//设定消息过期时间
producer.setDeliveryMode(DeliveryMode.PERSISTENT); //设置消息的持久化为永不过期
TextMessage message = session.createTextMessage();
message.setJMSReplyTo(replyQueue);
message.setText("message_"+ System.currentTimeMillis());
producer.send(message);
//用来监听返回的消息
MessageConsumer comsumer = session.createConsumer(replyQueue);
Message m = comsumer.receive(6000);
if(m!=null)
{
TextMessage textMessage = (TextMessage)m;
System.out.println(textMessage.getText().toString());
textMessage.acknowledge();
}
else
{
System.out.println(m);
}
session.close();
connection.stop();
connection.close();
}
------------------接收方代码为
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.jms.Topic;
import org.apache.activemq.ActiveMQConnectionFactory;
public class MQ_Receive{
public static void main(String[] args) throws JMSException
{
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");
Connection connection = factory.createConnection();
//若是持久订阅,这里必须设置当前订阅者的id,并在第一次运行时注册到borker上
connection.setClientID("jady");
connection.start();
final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.createTopic("Topics");
//消息的接收者
MessageConsumer comsumer = session.createConsumer(topic);
comsumer.setMessageListener(new MessageListener(){
public void onMessage(Message message) {
TextMessage tm = (TextMessage) message;
try {
System.out.println(tm.getText().toString());
MessageProducer producer =
session.createProducer(tm.getJMSReplyTo());
producer.send(session.createTextMessage("I AM RETURN MESSAGE::: "
+ ((TextMessage) tm).getText()));
tm.acknowledge();
} catch (JMSException e1) {
e1.printStackTrace();
}
}
});
}
}
http://wenku.baidu.com/view/4d028c215901020207409cc0.html###
http://www.cnblogs.com/jjj250/archive/2012/05/29.html
while ((m = comsumer.receive(6000)) != null) {
TextMessage textMessage = (TextMessage)m;
System.out.println(textMessage.getText().toString());
}
MQ的配置
猜你喜欢
转载自li-yanping.iteye.com/blog/1591190
今日推荐
周排行