这两天整理RabbitMq,写了个问个测试东西,但是一直收到不信息,发就可以,在mq的
界面也能看到信息。以下是代码,大神帮忙看看哇
//连接rabbitMQ的基本配置
@Configuration
@EnableRabbit
public class RabbitConfig {
@Bean
public ConnectionFactory connectionFactory() {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory("192.168.88.246");
connectionFactory.setUsername("admin");
connectionFactory.setPassword("123456");
connectionFactory.setPort(5672);
return connectionFactory;
}
@Bean
public AmqpAdmin amqpAdmin() {
return new RabbitAdmin(connectionFactory());
}
@Bean
public RabbitTemplate rabbitTemplate() {
return new RabbitTemplate(connectionFactory());
}
//配置消费者监听的容器
@Bean
public SimpleRabbitListenerContainerFactory rabbitListenerContainerFactory() {
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
factory.setConnectionFactory(connectionFactory());
factory.setConcurrentConsumers(3);
factory.setMaxConcurrentConsumers(10);
return factory;
}
}
订阅配置
@Configuration
public class PublishSubscribeConfig {
@Autowired
RabbitConfig rabbitconfig;
@Autowired
UpdateOrgConfig orgConfig;
@Bean
public Queue myQueue1() {
Queue queue=new Queue(orgConfig.getName());
return queue;
}
@Bean
public Queue myQueue2() {
Queue queue=new Queue("com..updateorg.msg.2");
return queue;
}
@Bean
public FanoutExchange fanoutExchange(){
FanoutExchange fanoutExchange=new FanoutExchange("fanout");
return fanoutExchange;
}
@Bean
public Binding binding1(){
Binding binding=BindingBuilder.bind(myQueue1()).to(fanoutExchange());
return binding;
}
@Bean
public Binding binding2(){
Binding binding=BindingBuilder.bind(myQueue2()).to(fanoutExchange());
return binding;
}
}
监听配置
@Component
public class OrgConsumer2 {
@RabbitListener(queues = "com..updateorg.msg.2")
public void subscribe(String msg) throws IOException {
System.out.println("订阅者2收到消息"+ msg);
}
}
死活收到不信息