Spring整合JMS消息中间件

匿名 (未验证) 提交于 2019-12-02 23:52:01

1.1

(1)springjms_producerPOMSpringJms activeMQ

2src/main/resourcesspringapplicationContext-jms-producer.xml

"cn.itcast.demo"

"targetConnectionFactory""org.apache.activemq.ActiveMQConnectionFactory"

"brokerURL""tcp://192.168.25.135:61616"

"connectionFactory""org.springframework.jms.connection.SingleConnectionFactory"

"targetConnectionFactory""targetConnectionFactory"

"jmsTemplate""org.springframework.jms.core.JmsTemplate"

"connectionFactory""connectionFactory"

"queueTextDestination""org.apache.activemq.command.ActiveMQQueue"

"queue_text"

3cn.itcast.demo

@Component

publicclass

@Autowired

private

@Autowired

private

/**

@param

publicvoidfinal

jmsTemplate.send(queueTextDestination, new

publicthrows

return

}

});

}

}

4

src/test/java

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations="classpath:applicationContext-jms-producer.xml")

publicclass

@Autowired

private

@Test

publicvoid

queueProducer.sendTextMessage("SpringJms-点对点");

}

}

1.2

(1)springjms_consumerPOM

2applicationContext-jms-consumer-queue.xml

"targetConnectionFactory""org.apache.activemq.ActiveMQConnectionFactory"

"brokerURL""tcp://192.168.25.135:61616"

"connectionFactory""org.springframework.jms.connection.SingleConnectionFactory"

"targetConnectionFactory""targetConnectionFactory"

"queueTextDestination""org.apache.activemq.command.ActiveMQQueue"

"queue_text"

<!-- 我的监听类 -->

"myMessageListener""cn.itcast.demo.MyMessageListener"></bean>

<!-- 消息监听容器 -->

"org.springframework.jms.listener.DefaultMessageListenerContainer">

"connectionFactory""connectionFactory"

"destination""queueTextDestination"

"messageListener""myMessageListener"

</bean>

3

publicclassimplements

publicvoid

TextMessage textMessage=(TextMessage)message;

try

System.out.println("接收到消息:"+textMessage.getText());

} catch

e.printStackTrace();

}

}

}

4

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations="classpath:applicationContext-jms-consumer-queue.xml")

publicclass

@Test

publicvoid

try

System.in.read();

} catch

e.printStackTrace();

}

}

}

2、/

2.1

1springjms_producerapplicationContext-jms-producer.xml

"topicTextDestination""org.apache.activemq.command.ActiveMQTopic"

"topic_text"

2

@Component

publicclass

@Autowired

private

@Autowired

private

/**

@param

publicvoidfinal

jmsTemplate.send(topicTextDestination, new

publicsession) throws

return

}

});

}

}

3

import

import

import

import

import

import

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations="classpath:applicationContext-activemq-producer.xml")

publicclass

@Autowired

private

@Test

publicvoid

topicProducer.sendTextMessage();

}

}

2.2

(1)activemq-spring-consumerapplicationContext-jms-consumer-topic.xml

"targetConnectionFactory""org.apache.activemq.ActiveMQConnectionFactory"

"brokerURL""tcp://192.168.25.135:61616"

</bean>

"connectionFactory""org.springframework.jms.connection.SingleConnectionFactory"

"targetConnectionFactory""targetConnectionFactory"

<bean id="topicTextDestination""org.apache.activemq.command.ActiveMQTopic"

"topic_text"

<!-- 我的监听类 -->

"myMessageListener""cn.itcast.demo.MyMessageListener"></bean>

<!-- 消息监听容器 -->

"org.springframework.jms.listener.DefaultMessageListenerContainer">

"connectionFactory""connectionFactory"

"destination""topicTextDestination"

"messageListener""myMessageListener"

</bean>

(2)编写测试类

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations="classpath:applicationContext-jms-consumer-topic.xml")

publicclass

@Test

publicvoid

try

System.in.read();

} catch

e.printStackTrace();

}

}

}

测试:同时运行三个消费者工程,在运行生产者工程,查看三个消费者工程的控制台输出。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!