美文网首页
封装rabbitmq

封装rabbitmq

作者: vivi_wong | 来源:发表于2017-03-03 19:49 被阅读0次

实际上,引用spring-rabbitmq, 可以使用rabbitmqtemplate

但如果直接用rabbitmq 的话,日后改别的 mq方式,就难了。

所以,在抽象出属于自己想买的一层mq

sender

接口 MessageSender send(Message message)

实现类 MessageSenderFactory 

在里面注入rabbitmqTemplate ,还有messagecoverter,写一个内部实现messagesender接口的类,复写send()

里面用到 TransactionSynchronizationManager.isSynchronizationActive()

TransactionSynchronizationManager.registerSynchronization(newTransactionSynchronizationAdapter() {})

listener

抽象类AbstractMessageListener

实现接口 MessageListener InitializingBean

复写  onmessage(message)

特别提下 

FixedBackOffPolicy  RetryTemplate

重试机制

写业务类继承AbstractMessageListener 复写 onmessage(message)

messagecoverter

KryoMessageConverter 实现messagecoverter

复写 frommessge  tomessage

用到  KryoPool

kryo=kryoPool.borrow();

kryo.register(com.xx.message.class);

kryo.readObject(new Input(), message)

kryo=kryoPool.borrow();

Output o=newOutput(1024,-1);

kryo.writeObject(o,object);

相关文章

网友评论

      本文标题:封装rabbitmq

      本文链接:https://www.haomeiwen.com/subject/dkbrgttx.html