时隔一年,未写博客。
如今沉浸在各种代码之中不可自拔。前段时间写了一个基于ActiveMQ的工具类,在生产环境下使用过,没有什么大问题,分享出来给大家了解,当做互相学习和参考。
具体ActiveMQ是做什么的,就不细说了,直接百度就好。
工具类并没用使用Spring去管理ActiveMQ,本身目的是方便初学者学习AMQ和理清每一个对象是如何执行的。
这个工具类主要作用是希望能帮助更多人去了解AcriveMQ对强消息回执的同步和异步处理,网络上并没有太多相关的内容,并且也没有相关的源码可以参考。
文章后会附上附件,欢迎下载,如有疑问,下方留言。
发送消息并等待回执
/**
* 发送点对点具有同步回执的消息
* @param sendTextMessage
* @param config ##如果设置JSMUtil.ACK_CLIENT_ACKNOWLEDGE,则messageListener使用message.acknowledge()进行消息确认##
* @param isPersistent
* @param messageTimeout 默认值建议设置45秒
* @return JMSSendResultModel
*/
public static JMSSendResultModel sendPointReplyTextMessageSync(
String sendTextMessage,
JMSConfigModel config,
int isPersistent,
Integer messageTimeout){
Connection connection=getConnection(config);
Session session=getSession(connection, config);
Destination destination=getDestination(session,config,false);
if(destination!=null){
String reciveTextMessageString=null;
MessageProducer messageProducer=null;
try {
messageProducer=session.createProducer(destination);
messageProducer.setDeliveryMode(isPersistent);
messageProducer.setTimeToLive(messageTimeout);
TextMessage textMsg = session.createTextMessage(sendTextMessage);
//构建回执(临时通道),这个很关键
Te