IBMMQ 带用户密码验证的发送和接收消息
来源:互联网 发布:如何注销淘宝账号 编辑:程序博客网 时间:2024/06/05 06:23
由于项目需要,需要和一个比较旧的系统进行交互,为了不修改旧系统逻辑,交互方式采用IBMMQ。但是网上IBMMQ文档少之又少。不过最终还是成功完成对接。特记录下来。
项目是把IBMMQ和spring jms进行集成。 需要的jar包我就不列了,程序报什么错去引入什么包吧。
1 spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <description>MQ</description> <!-- mq队列连接工厂 --> <bean id="jmsConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"> <property name="transportType" value="1"/> <property name="hostName" value="${ibmmq.hostName}"/> <property name="port" value="${ibmmq.port}"/> <property name="CCSID" value="${ibmmq.ccsid}"/> <property name="queueManager" value="${ibmmq.queueManager}"/> <property name="channel" value="${ibmmq.channel}"/> </bean> <bean id="mqConnectionFactory" class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter"> <property name="username" value="${ibmmq.username}"/> <property name="password" value="${ibmmq.password}"/> <property name="targetConnectionFactory" ref="jmsConnectionFactory"/> </bean><!-- <!– spring缓存管理mq队列连接工厂 –> <bean id="jmsQueueConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory"> <property name="targetConnectionFactory" ref="jmsConnectionFactory" /> <!– <property name="sessionCacheSize"> <value>15</value> </property>–> </bean>--> <!-- MQ sender queue setup --> <bean id="senderQueue" class="com.ibm.mq.jms.MQQueue"> <property name="baseQueueManagerName" value="${ibmmq.queueManager}"/> <property name="baseQueueName" value="${ibmmq.send.queue}"/> </bean> <!-- MQ receiver queue setup --> <bean id="receiverQueue" class="com.ibm.mq.jms.MQQueue"> <property name="baseQueueManagerName" value="${ibmmq.queueManager}"/> <property name="baseQueueName" value="${ibmmq.receive.queue}"/> </bean> <!-- the JMSTemplate setup for Sender Queue--> <bean id="SenderJMSTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="mqConnectionFactory"/> <property name="defaultDestination" ref="senderQueue"/> <property name="pubSubDomain" value="false"/> </bean> <!-- the JMSTemplate setup for Receiver Queue --> <bean id="ReceiverJMSTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="mqConnectionFactory"/> <property name="defaultDestination" ref="receiverQueue"/> <property name="pubSubDomain" value="false"/> </bean> <!-- 队列发送程序 --> <bean id="jmsSender" class="com.gome.status.order.mqservice.gstore.SAPIBMMQSender"> <property name="jmsTemplate" ref="SenderJMSTemplate" /> <property name="replyTo" ref="senderQueue" /> </bean> <!-- 队列接收程序 --> <bean id="jmsReceiver" class="com.gome.status.order.mqservice.gstore.SAPIBMMQReceiver"> <property name="jmsTemplate" ref="ReceiverJMSTemplate"/> <property name="receiveQueue" ref="receiverQueue"/> </bean> <!-- spring 监听队列,一旦队列中有消息,马上触发监听 --> <bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="mqConnectionFactory" /> <property name="destination" ref="receiverQueue" /> <property name="messageListener" ref="jmsReceiver" /> <property name="concurrentConsumers" value="6" /> </bean></beans>2 发送消息端
public class SAPIBMMQSender {private ShortLogUtil logger = new ShortLogUtil(this.getClass().getName());private JmsTemplate jmsTemplate;private Destination replyTo;public JmsTemplate getJmsTemplate() {return jmsTemplate;}public void setJmsTemplate(JmsTemplate jmsTemplate) {this.jmsTemplate = jmsTemplate;}public Destination getReplyTo() {return replyTo;}public void setReplyTo(Destination replyTo) {this.replyTo = replyTo;}public void sendMessage(String data) throws Exception {jmsTemplate.convertAndSend(replyTo,data);logger.logInfo("发送SAPmq消息成功!","sendMessage",null);}}3 接收消息端
public class SAPIBMMQReceiver implements MessageListener {private JmsTemplate jmsTemplate;private MQQueue receiveQueue;public JmsTemplate getJmsTemplate() {return jmsTemplate;}public void setJmsTemplate(JmsTemplate jmsTemplate) {this.jmsTemplate = jmsTemplate;}public MQQueue getReceiveQueue() {return receiveQueue;}public void setReceiveQueue(MQQueue receiveQueue) {this.receiveQueue = receiveQueue;}@Overridepublic void onMessage(Message message) {}}
阅读全文
0 0
- IBMMQ 带用户密码验证的发送和接收消息
- 消息的创建发送和接收
- ActiveMQ 消息的发送和接收
- erlang的消息发送和接收
- ActiveMQ消息发送和接收
- ActiveMQ消息发送和接收
- ActiveMQ消息发送和接收
- C#发送和接收消息
- java DategramSocker发送消息和接收消息
- ActiveMQ 发送消息和接收消息 Demo
- 自定义消息的发送和接收的方法
- 使用javaMail来发送和接收带附件的邮件
- C#简单实现自定义消息的发送和接收
- 关于Windows消息的发送和接收入门
- VC 自定义消息的发送和接收方法
- 关于Windows消息的发送和接收入门
- OpenJMS程序实现消息的发送和接收
- JMS_使用ActiveMQ实现消息的发送和接收
- 水题 第五站 HDU Ignatius and the Princess IV
- LINUX网络命令
- mongoose
- oracle ebs应用产品安全性-交叉验证规则
- 大型网站服务器的架构
- IBMMQ 带用户密码验证的发送和接收消息
- vue 商品星级评价
- hdu 1754 I Hate It (线段树)(第一部分 单点更新)
- [shader]直方图/柱状图
- web安全之token和CSRF攻击
- 各种居中的css实现
- 实现图片轮播
- 算法概论 8.3题
- 高精度加法