项目需求:
现有一共有三四十个队列,每个队列都必须要做到顺序监听,每个队列里面接收到的数据 根据协议解析后 把部分数据保存到数据库中,队列发送频率大约为30毫秒,一秒30多条
现存问题
这就需要频繁访问数据库同时访问一个表,需要排队插入数据
解决方法
现在改成把需要存储的数据发送到rabbitmq上,然后一次性监听几千条数据,做批量存储
这是rabbitmq的
@Configuration
public class RabbitMQConfig {
/**
* 注入交换器
*/
@Bean
public TopicExchange exchange() {
return new TopicExchange("task");
}
@Bean
public Binding binding(TopicExchange exchange) {
DestinationConfigurer destCfg = BindingBuilder.bind(queue());
TopicExchangeRoutingKeyConfigurer keyCfg = destCfg.to(exchange);
return keyCfg.with("task.*");
}
/**
* 注入admin对象
*/
@Bean
public RabbitAdmin admin(AbstractConnectionFactory connectionFactory,