传递实体类
public class Order implements Serializable{
private static final long serialVersionUID = 1L;
private String name;
private String id;
private Date addTime;
...
}
消息生产者
public class ActiveMQProducer {
public static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
public static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
public static final String BROKEURL = ActiveMQConnection.DEFAULT_BROKER_URL;
public static final int SENDNUM = 10;
public static void main(String[] args){
//链接工厂
ConnectionFactory connectionFactory;
//链接
Connection connection = null;
//会话
Session session;
//消息目的地
Destination destination;
//消息生产者
MessageProducer messageProducer;
//实例化链接工厂
connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKEURL);
try {
//通过链接工厂获取链接
connection = connectionFactory.createConnection();
//启动链接
connection.start();
//创建session
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
//创建名为“waniz”的消息队列
destination = session.createQueue("waniz");
messageProducer = session.createProducer(destination);
sendMessage(session,messageProducer);
session.commit();
} catch (JMSException e) {
System.out.println("ActiveMQProducer--消息生产+"+ e.getLocalizedMessage());
}finally{
try {
if(connection != null){
connection.close();
}
} catch (JMSException e) {
System.out.println("ActiveMQProducer--关闭链接出现异常...");
}
}
}
private static void sendMessage(Session session,MessageProducer messageProducer) throws JMSException {
Order order = new Order();
order.setAddTime(new Date());
order.setName("waniz");
ObjectMessage message = session.createObjectMessage();
message.setObject((Serializable)order);
messageProducer.send(message);
}
消息消费者
public class ActiveMQConsumer {
public static final String USERNAME = ActiveMQConnection.DEFAULT_USER;
public static final String PASSWORD = ActiveMQConnection.DEFAULT_PASSWORD;
public static final String BROKERURL = ActiveMQConnection.DEFAULT_BROKER_URL;
public static void main(String[] args){
ConnectionFactory connectionFactory;
Connection connection = null;
Session session;
Destination destination;
MessageConsumer messageConsumer;
connectionFactory = new ActiveMQConnectionFactory(USERNAME, PASSWORD, BROKERURL);
try {
connection = connectionFactory.createConnection();
connection.start();
session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
destination = session.createQueue("waniz");
messageConsumer = session.createConsumer(destination);
ActiveMQObjectMessage msg = (ActiveMQObjectMessage)session.createObjectMessage();
msg = (ActiveMQObjectMessage)messageConsumer.receive(100000);
Serializable order = msg.getObject();
order = (Order)order;
// System.out.println("ActiveMQConsumer--从队列取出数据:"+order.getName()+";时间:"+order.getAddTime());
} catch (JMSException e) {
System.out.println("ActiveMQConsumer--消息队列消费..."+e.getLocalizedMessage());
}finally{
try {
if(connection != null){
connection.close();
}
} catch (JMSException e) {
System.out.println("ActiveMQConsumer--关闭消费者队列出现异常...");
}
}
}
}