文件名:applicationContext-biz-mq.xml
mqconnect.properties配置文件:
#通道名 app.mq.channel=SYSTEM.DEF.SVRCONN #传输类型 app.mq.transportType=1 #端口号 app.mq.port=1414 #队列管理器名称-发送方 queue.manager.send=WMQ1QM #主机地址-发送方 queue.manager.host.send=10.70.175.81 #队列名称-发送方 queue.name.send=WMQ1OutputQ #队列管理器名称--接收方 queue.manager.get=WMQ2QM #主机地址--接收方 queue.manager.host.get=10.70.175.82 #队列名称--接收方 queue.name.get=WMQ2InputQ |
MessageTest.java测试文件,用来启动接收监听的配置文件:
import org.springframework.context.support.ClassPathXmlApplicationContext; public class MessageTest { public static void main(String[] args) { new ClassPathXmlApplicationContext("classpath*:/applicationContext-biz-mq.xml"); } } |
MessageListener.java监听文件:
import com.zmcc.servicemanager.biz.CallRecordBiz; import com.zmcc.servicemanager.domain.CallRecord; public class MessageListener{ private CallRecordBiz callRecordBiz; public void receviedMessage(CallRecord callRecord) { System.out.println(callRecord.getRequestContent()); } public CallRecordBiz getCallRecordBiz() { return callRecordBiz; } public void setCallRecordBiz(CallRecordBiz callRecordBiz) { this.callRecordBiz = callRecordBiz; } } |
MessageConverter.java用来转换的类:
import java.util.Date; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; import javax.jms.TextMessage; import org.springframework.jms.support.converter.MessageConversionException; import com.zmcc.servicemanager.domain.CallRecord; public class MessageConverter implements org.springframework.jms.support.converter.MessageConverter { public Message toMessage(Object object, Session session) throws JMSException, MessageConversionException { return null; } public Object fromMessage(Message message) throws JMSException,MessageConversionException { // TODO TextMessage mapMessage = (TextMessage) message; CallRecord callRecord = new CallRecord(); callRecord.setEndTime(new Date()); callRecord.setRequestContent(mapMessage.getText()); return callRecord; } } |
CallRecord.java实体类
public class CallRecord implements Serializable{ private static final long serialVersionUID = 1L; private String requestContent; private Date endTime; …… } |
JmsProducer.java发送消息:
import javax.jms.Connection; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; import com.ibm.mq.jms.JMSC; import com.ibm.mq.jms.MQQueueConnectionFactory; public class JmsProducer { public static void main(String[] args) { // Variables Connection connection = null; Session session = null; Destination destination = null; MessageProducer producer = null; try { // Create a connection factory // objects MQQueueConnectionFactory factory = new MQQueueConnectionFactory(); factory.setQueueManager("WMQ1QM"); factory.setHostName("10.70.175.81"); factory.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP); factory.setPort(1414); factory.setChannel("SYSTEM.DEF.SVRCONN"); // Create JMS objects connection = factory.createConnection(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); destination = session.createQueue("WMQ1OutputQ"); producer = session.createProducer(destination); long uniqueNumber = System.currentTimeMillis() % 1000; TextMessage message = session .createTextMessage("JmsProducer: Your lucky number today is " + uniqueNumber); // Start the connection connection.start(); // And, send the message producer.send(message); System.out.println("Sent message:\n" + message); } catch (JMSException jmsex) { jmsex.fillInStackTrace(); } finally { try { producer.close(); session.close(); connection.close(); } catch (JMSException e) { e.printStackTrace(); } } } } |