package org.infosec.ismp.ping; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MapMessage; import javax.jms.Message; import javax.jms.Session; import org.springframework.jms.core.JmsTemplate; import org.springframework.jms.core.MessageCreator; import org.springframework.stereotype.Component; @Component public class DirectPingMessengerSend { private JmsTemplate jmsTemplate; private Destination destination; private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public void springSend(final Serializable object) throws Exception { jmsTemplate.send(destination, new MessageCreator(){ @Override public Message createMessage(Session session) throws JMSException { // ObjectMessage msg = session.createObjectMessage(object); PingdModel pindgmodel = (PingdModel)object; MapMessage msg =session.createMapMessage(); msg.setString("uuid", pindgmodel.getUuid()); msg.setString("ipAddr", pindgmodel.getIpAddr()); if(pindgmodel.getResponseTime()!=null){ msg.setLong("responseTime", pindgmodel.getResponseTime()); } else { msg.setLong("responseTime", -1); } msg.setString("pingFlag", pindgmodel.getPingFlag()); msg.setString("pingTime",format.format(new Date())); return msg; } }); } public void setJmsTemplate(JmsTemplate jmsTemplate) { this.jmsTemplate = jmsTemplate; } public void setDestination( Destination destination) { this.destination = destination; } }