package com.yc.jms;
|
|
import java.io.Serializable;
|
import java.util.HashMap;
|
import java.util.Map;
|
import javax.jms.JMSException;
|
import javax.jms.Message;
|
import javax.jms.ObjectMessage;
|
import javax.jms.Session;
|
import javax.jms.TextMessage;
|
|
import org.springframework.jms.JmsException;
|
import org.springframework.jms.core.JmsTemplate;
|
import org.springframework.jms.core.MessageCreator;
|
import org.springframework.stereotype.Service;
|
|
import com.yc.duanxin.SmsSendParm;
|
import com.yc.ycenum.SendParm;
|
|
/**
|
* JMS queue sender
|
*
|
* @author pengbei
|
*/
|
@Service("MessageQueueSender")
|
public class MessageQueueSender {
|
|
private JmsTemplate jmsTemplate;
|
|
public void setJmsTemplate(JmsTemplate jmsTemplate) {
|
this.jmsTemplate = jmsTemplate;
|
}
|
|
/**
|
* 发送一条字符串信息
|
*
|
* @param mes
|
*/
|
public void send(final String mes) {
|
// System.out.println("Send msg:" + mes);
|
Map<String, Object> mesMap = new HashMap<String, Object>();
|
mesMap.put(SendParm.PAN_KEY.getValue(), SendParm.MESSAGE.getValue());
|
mesMap.put(SendParm.MESSAGE_CONTENT.getValue(), mes);
|
send(mesMap);
|
}
|
|
/**
|
* 发送集合信息
|
*
|
* @param mesMap
|
*/
|
public void send(final Map<String, Object> mesMap) {
|
|
try {
|
jmsTemplate.send(new MessageCreator() {
|
@Override
|
public Message createMessage(Session session) throws JMSException {
|
// Message message = session.createMessage();
|
// message.setObjectProperty(MessageParam.MESSAGE_OBJECT, mesMap);
|
// return message;
|
ObjectMessage objectMessage=session.createObjectMessage();
|
objectMessage.setObject((Serializable) mesMap);
|
return objectMessage;
|
}
|
});
|
} catch (JmsException e) {
|
throw new RuntimeException(e);
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
}
|
|
/**
|
* 发送短信
|
*
|
* @param mob 手机号 可以多个如(13888888886,13888888887,1388888888 一次最多对50个手机发送)
|
* @param content 短信内容
|
*/
|
public boolean sendSMS(String mob, String content) {
|
boolean bol=false;
|
try {
|
Map<String, Object> mesMap = new HashMap<String, Object>();
|
mesMap.put(SendParm.PAN_KEY.getValue(), SendParm.DUAN_XIN.getValue());
|
mesMap.put(SmsSendParm.CONTENT, content);
|
mesMap.put(SmsSendParm.MOB, mob);
|
send(mesMap);
|
bol=true;
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return bol;
|
|
}
|
/**
|
* 发送信息
|
*
|
*/
|
public void sendOK(final String str) {
|
try {
|
jmsTemplate.send(new MessageCreator() {
|
@Override
|
public Message createMessage(Session session) throws JMSException {
|
TextMessage objectMessage=session.createTextMessage();
|
objectMessage.setJMSMessageID("pageOK");
|
objectMessage.setText(str);
|
return objectMessage;
|
}
|
});
|
} catch (JmsException e) {
|
throw new RuntimeException(e);
|
} catch (Exception e) {
|
throw new RuntimeException(e);
|
}
|
}
|
}
|