标签:datacenter return 简单 factory Rabbitmq Bean 使用 msg public
yml的配置添加
spring:
rabbitmq:
port: 5672
host: 123.58.251.228
username: guest
password: guest
virtual-host: admin
Rabbitmq的配置
@Configuration
public class MqConfig {
public static final int DEFAULT_CONCURRENT = 2000;
//声明队列
@Bean("datacenter")
public Queue directQueue(){
return new Queue("datacenter",false); //队列名字,是否持久化
}
//声明交换机
@Bean("DIRECT_EXCHANGE")
public DirectExchange directExchange(){
return new DirectExchange("exchange",false,false);//交换器名称、是否持久化、是否自动删除
}
//将队列绑定到交换机
@Bean
Binding binding1(@Qualifier("datacenter") Queue queue, @Qualifier("DIRECT_EXCHANGE") DirectExchange exchange){
return BindingBuilder.bind(queue).to(exchange).with("datacenter");
}
//设置多线程接收
@Bean("customContainerFactory")
public SimpleRabbitListenerContainerFactory containerFactory(SimpleRabbitListenerContainerFactoryConfigurer configurer,
ConnectionFactory connectionFactory) {
SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
factory.setConcurrentConsumers(10);
factory.setMaxConcurrentConsumers(10);
configurer.configure(factory, connectionFactory);
return factory;
}
}
发送者
@Component
public class TradeSender {
@Autowired
AmqpTemplate rabbitmqTemplate;
public void sendNewTrade(Integer i){
String msg=String.valueOf(i);
rabbitmqTemplate.convertAndSend("trade",msg);
}
}
接收者
@RabbitListener(queues = "datacenter",containerFactory = "customContainerFactory")
public class TradeReceiver {
private static final Logger LOG = LoggerFactory.getLogger(TradeReceiver.class);
@Autowired
private volatile TradeService tradeService;
@Autowired
private Web3j web3j;
@RabbitHandler
public void handler(String msg) throws Exception {
System.out.println(msg);
}
}
标签:datacenter,return,简单,factory,Rabbitmq,Bean,使用,msg,public 来源: https://www.cnblogs.com/foreversmile/p/14063086.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。