package org.xmx0632.deliciousfruit.demo.jms.simple; import javax.jms.MapMessage; import javax.jms.Message; import javax.jms.MessageListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.xmx0632.deliciousfruit.utilities.email.SimpleMailService; /** * 消息的异步被动接收者. * * 使用Spring的MessageListenerContainer侦听消息并调用本Listener进行处理. * * @author calvin * */ public class NotifyMessageListener implements MessageListener { private static Logger logger = LoggerFactory .getLogger(NotifyMessageListener.class); @Autowired(required = false) private SimpleMailService simpleMailService; /** * MessageListener回调函数. */ @Override public void onMessage(Message message) { try { MapMessage mapMessage = (MapMessage) message; // 打印消息详情 logger.info("UserName:{}, Email:{}", mapMessage.getString("userName"), mapMessage.getString("email")); // 发送邮件 if (simpleMailService != null) { simpleMailService.sendNotificationMail(mapMessage .getString("userName")); } } catch (Exception e) { logger.error("处理消息时发生异常.", e); } } }