用myeclipse,可以发送,但接收不到。

来源:4-3 队列模式的消息演示

赵码农

2017-08-01 19:43

public class AppProducer {

	private static final String url="tcp://127.0.0.1:61616";
	private static final String queueName="queue-test";
	
	public static void main(String[] args) throws JMSException {
		
		//1.创建ConnectionFactory连接工厂
		ConnectionFactory connectionFactory=new ActiveMQConnectionFactory(url);
		
		//2.创建连接
		Connection connection =connectionFactory.createConnection();
		
		//3.启动连接
		connection.start();
		
		//4.创建会话
		Session session=connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
		
		//5.创建目标
		Destination destination= session.createQueue(queueName);
		
		//6.创建生产者
		MessageProducer messageProducer= session.createProducer(destination);
		
		for(int i=0;i<100;i++){
			//7.创建消息
			TextMessage textMeasurer=session.createTextMessage("test: "+i);
			
			//8.发布消息
			messageProducer.send(textMeasurer);
			
			System.out.println("发送消息:"+textMeasurer.getText());

		}
		
		//9.关闭连接
		connection.stop();
		
	}
}
public class AppConsumer {
	
	private static final String url="tcp://127.0.0.1:61616";
	private static final String queueName="queue-test";
	
	public static void main(String[] args) throws JMSException {
		
		//1.创建ConnectionFactory连接工厂
		ConnectionFactory connectionFactory=new ActiveMQConnectionFactory(url);
		
		//2.创建连接
		Connection connection =connectionFactory.createConnection();
		
		//3.启动连接
		connection.start();
		
		//4.创建会话
		Session session=connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
		
		//5.创建目标
		Destination destination= session.createQueue(queueName);
		
		//6.创建消费者
		MessageConsumer messageConsumer = session.createConsumer(destination);
		
		//7.创建一个监听器
		messageConsumer.setMessageListener(new MessageListener() {
			
			public void onMessage(Message message) {
				
				TextMessage textMessage= (TextMessage) message;
				try {
					System.out.println("接收消息: "+textMessage.getText());
				} catch (JMSException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});
		
		
		//8.关闭连接
		//connection.stop();
		
	}
	
	
	
	
}

AppProducer可以生产发送到中间件

但是AppConsumer接收不到


http://img.mukewang.com/5980695b0001527110980480.jpg


写回答 关注

1回答

  • 赵码农
    2017-08-01 19:55:17

    我把两个类重写到一个方法里面了    然后发送消息和接收消息都成功了,难道是IDE的问题?


Java消息中间件

使用Java消息中间件处理异步消息

54146 学习 · 144 问题

查看课程

相似问题