将mq与事务分离以后,为了更一步减少发送mq对业务的影响,将发送mq改为异步发送
使用线程池来发送
一:
由于对外的mq全部改造完毕,发送的消息格式为json格式的字符串,所以所有的发送(包括topic和queue)都可以使用同一个sender
spring配置
二:异步发送
有一个方法 里面从线程池里取一个线程执行
有一个线程 运行的结果就是发送消息
在需要发送的时候调用这个类的send方法,由于使用的spring注解方式,所以需要在xml里配置bean
三 线程池配置
线程池用的是ExecutorService 及 BlockingQueue
线程池的初始化和注销是tomcat监听器