MQ的配置

----------发送方代码为
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());
        }

猜你喜欢

转载自li-yanping.iteye.com/blog/1591190
MQ