59 lines
1.8 KiB
Java
59 lines
1.8 KiB
Java
package com.xwbing.rabbit;
|
|
|
|
import com.xwbing.exception.BusinessException;
|
|
import com.xwbing.service.rest.MailService;
|
|
import com.xwbing.util.RestMessage;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
import javax.annotation.Resource;
|
|
import java.text.MessageFormat;
|
|
|
|
import static com.xwbing.rabbit.RabbitConstant.EMAIL_QUEUE;
|
|
import static com.xwbing.rabbit.RabbitConstant.MESSAGE_QUEUE;
|
|
|
|
/**
|
|
* 项目名称: boot-module-pro
|
|
* 创建时间: 2018/4/25 15:12
|
|
* 作者: xiangwb
|
|
* 说明: 消费者
|
|
*/
|
|
@Component
|
|
public class Receiver {
|
|
@Resource
|
|
private MailService mailService;
|
|
private final Logger logger = LoggerFactory.getLogger(Receiver.class);
|
|
|
|
/**
|
|
* 处理邮件队列信息
|
|
*
|
|
* @param msg
|
|
* @return
|
|
*/
|
|
@RabbitListener(queues = EMAIL_QUEUE)
|
|
public String processEmail(String[] msg) {
|
|
String content = MessageFormat.format("你的用户名是:{0},密码是:{1}", msg[1], msg[2]);
|
|
RestMessage restMessage = new RestMessage();
|
|
try {
|
|
restMessage = mailService.sendSimpleMail(msg[0], "注册成功", content);
|
|
} catch (BusinessException e) {
|
|
logger.error("发送邮件给{}失败", msg[0]);
|
|
}
|
|
boolean success = restMessage.isSuccess();
|
|
return MessageFormat.format("成功发送邮件给{0}:{1}", msg[1], success);
|
|
}
|
|
|
|
/**
|
|
* 处理短信队列消息
|
|
*
|
|
* @param msg
|
|
*/
|
|
@RabbitListener(queues = MESSAGE_QUEUE)
|
|
public String processMessage(String[] msg) {
|
|
String response = MessageFormat.format("收到{0}队列的消息:{1}", MESSAGE_QUEUE, msg);
|
|
return response.toUpperCase();
|
|
}
|
|
}
|