本文由黑壳博客发布
本文来源快速上手轻量级消息队列 Apache-ActiveMQ - 黑壳网 http://blog.bhusk.com/articles/2018/03/05/1520253269039
壳叔搞笑时间
赶报表,晚餐没吃就喝了杯水。文员妹纸下班走时问我:要不要帮你叫外卖?
我回她:刚喝了杯水,不饿。
她伸出一只手的大拇指和小拇指在空中晃了几晃,我纳闷问:让我打你电话?
她略尴尬道:说你 666……
我。。还有这种操作 ~
正文
了解消息队列
http://blog.bhusk.com/articles/2018/03/05/1520250548267
程序员要的干货
开始搬运干货
Java Pom 文件
现在 Maven 项目可以大大减少你的开发时间。
<properties> <spring.version>4.2.5.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-core</artifactId> <version>5.7.0</version> <exclusions> <exclusion> <artifactId>spring-context</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> </dependency> </dependencies>
接下来 配置文件
common.xml
<context:annotation-config/> <!-- activemq 提供的connectionFactory--> <bean id="targetConnectionFactory"class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="tcp://127.0.0.1:61616"/> </bean> <!-- spring jms 提供的connectionFactory连接池--> <bean id="connectionFactory"class="org.springframework.jms.connection.SingleConnectionFactory"> <property name="targetConnectionFactory" ref="targetConnectionFactory"/> </bean> <!--队列目的地 点对点 --> <bean id="queueDestination" class="org.apache.activemq.command.ActiveMQQueue"> <constructor-arg value="queue"/> </bean> <!--主题模式--> <bean id="topicDestination" class="org.apache.activemq.command.ActiveMQTopic"> <constructor-arg value="topic"/> </bean>
product.xml 生产的配置文件
<import resource="common.xml"/> <!--jms 用来发送消息 --> <bean id="jmsTemplale" class="org.springframework.jms.core.JmsTemplate"> <property name="connectionFactory" ref="connectionFactory"></property> </bean> <bean class="com.bhsuk.producer.ProducerServiceImpl"/>
生产的配置文件,配置完了,开始写 product 的代码吧
ProducerServiceImpl.java
public class ProducerServiceImpl implements ProducerService{ @Autowired private JmsTemplate jmsTemplate; @Resource(name = "topicDestination") private Destination destination; public void sendMessage(final String message) { // 使用jmstemplate发送消息 jmsTemplate.send(destination, new MessageCreator() { public Message createMessage(Session session) throws JMSException { // 创建消息体 TextMessage textmessage = session.createTextMessage(message); System.out.println("消息已经发送"+message); return textmessage; } }); } }@Autowired private JmsTemplate jmsTemplate; @Resource(name = "topicDestination") private Destination destination; public void sendMessage(final String message) { // 使用jmstemplate发送消息 jmsTemplate.send(destination, new MessageCreator() { public Message createMessage(Session session) throws JMSException { // 创建消息体 TextMessage textmessage = session.createTextMessage(message); System.out.println("消息已经发送"+message); return textmessage; } }); }
本文只粘贴核心代码,如果需要详细代码或测试方法,可以去 GitHub 上观看更详细的代码。
消费配置文件 consumer.xml
<!-- 公共配置消息 --> <import resource="common.xml"/> <!--cousumer 监听类--> <bean id="consumerListener" class="com.yunus.jms.consumer.ConsumerListener"/> <!--message 监听容器 --> <bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer"> <property name="connectionFactory" ref="connectionFactory"/> <property name="destination" ref="topicDestination"/> <property name="messageListener" ref="consumerListener"/> </bean>
既然有生产和消费 生产写完了,那就得写消费了。
ConsumerListener.java
public class ConsumerListener implements MessageListener{ public void onMessage(Message message) { TextMessage textMessage = (TextMessage) message; try { System.out.println("接受消息为"+textMessage.getText()); } catch (JMSException e) { e.printStackTrace(); } } }
直达 GitHub 项目链接 (懒人专用)
https://github.com/ykz200/Spring-ActiveMQ
关于我们
程序员太辛苦了
请善待你们身边的每一位程序员~
欢迎在评论写下你的程序员自黑体呦,嗯,相信你可以滴~~~~~~
以上内容,均来自互联网~
欢迎扫描二维码加入我们的组织
黑壳网交流群 Qq:200408242
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于