Commit ea57b278 by songxiang

模板消息MQ

parent 3ad0dd10
package com.pcloud.common.core.biz; package com.pcloud.common.core.biz;
import javax.jms.JMSException; import org.springframework.amqp.core.AmqpTemplate;
import javax.jms.ObjectMessage;
import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.MQQueueConstant;
import com.pcloud.common.core.dto.TemplateMessageDto; import com.pcloud.common.core.dto.TemplateMessageDto;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
...@@ -19,39 +13,21 @@ import com.pcloud.common.exceptions.BizException; ...@@ -19,39 +13,21 @@ import com.pcloud.common.exceptions.BizException;
* *
* @描述:发送模板消息队列实现类 * @描述:发送模板消息队列实现类
* @作者:songx * @作者:songx
* @创建时间:2016年11月23日,下午4:53:43 * @创建时间:2016年11月23日,下午4:53:43 @版本:1.0
* @版本:1.0
*/ */
@Component("templateQueueBiz") @Component("templateQueueBiz")
public class TemplateQueueBizImpl implements TemplateQueueBiz { public class TemplateQueueBizImpl implements TemplateQueueBiz {
/** @Autowired
* private AmqpTemplate amqpTemplate;
*/
private final static Logger logger=LoggerFactory.getLogger(TemplateQueueBizImpl.class);
@Autowired(required=false)
@Qualifier("jmsTemplateTemplate")
private JmsTemplate jmsTemplateTemplate;
/** /**
* 发送队列 * 发送模板消息
*/ */
@Override @Override
@ParamLog("发送模板消息QUEUE")
public void sendMessageQueue(TemplateMessageDto templateMessageDto) throws BizException { public void sendMessageQueue(TemplateMessageDto templateMessageDto) throws BizException {
MessageCreator messageCreator = new MessageCreator() { amqpTemplate.convertAndSend(MQQueueConstant.TEMPLATE, templateMessageDto);
@Override
public ObjectMessage createMessage(Session session) throws JMSException {
return session.createObjectMessage(templateMessageDto);
}
};
try {
jmsTemplateTemplate.send(messageCreator);
} catch (Exception e) {
logger.error("发送失败," + e.getMessage() + "," + templateMessageDto, e);
throw BizException.SEND_QUEUE_FAIL;
}
logger.info("发送成功," + templateMessageDto);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment