rabbitmq学习——主题路由

public class Send {
public static final String exchangeName = "topic_logs";
public static void main(String[] args) throws Exception{
Connection connection = ChanncelFactory.getChanncelFactory();
Channel channel = connection.createChannel();

//主题路由
channel.exchangeDeclare(exchangeName, "topic");

String body = "主题路由";
channel.basicPublish(exchangeName, "com.bonc.ioc", null, body.getBytes());

ChanncelFactory.close(channel, connection);
}
}

 

public class Receive {
public static void main(String[] args) throws Exception {
Connection connection = ChanncelFactory.getChanncelFactory();
Channel channel = connection.createChannel();

channel.exchangeDeclare(Send.exchangeName, "topic");

String queuename = channel.queueDeclare().getQueue();

// * 代表一个单词 #代表一个或者多个单词
channel.queueBind(queuename, Send.exchangeName, "com.#");

Consumer callback = new DefaultConsumer(channel){
@Override
public void handleDelivery(String consumerTag, Envelope envelope,
BasicProperties properties, byte[] body) throws IOException {
System.out.println("内容:"+new String(body,"utf-8"));
}
};

for(int i=1; i<6; i++){
Thread.sleep(2000);
channel.basicConsume(queuename, true, callback);
}

ChanncelFactory.close(channel, connection);
}
}

posted @ 2017-10-10 14:01  泥猴桃\n  阅读(103)  评论(0编辑  收藏  举报