概述:

下面将介绍如何在Spring下集成ActiveMQ。
消费者:同步接收;
目的地:Queue



环境:

共5个文件
  1. Receiver.java
  2. ReceiverTest.java
  3. Sender.java
  4. SenderTest.java
  5. applicationContext.xml
使用的jar包如下:


源文件:

Receiver.java

  1. package com.ll.springActiveMQ2;
  2. import javax.jms.JMSException;
  3. import javax.jms.MapMessage;
  4. import org.springframework.jms.core.JmsTemplate;
  5. import org.springframework.jms.support.JmsUtils;
  6. public class Receiver {
  7. private JmsTemplate jmsTemplate;
  8. public JmsTemplate getJmsTemplate() {
  9. return jmsTemplate;
  10. }
  11. public void setJmsTemplate(JmsTemplate jmsTemplate) {
  12. this.jmsTemplate = jmsTemplate;
  13. }
  14. /**
  15. * 构造函数
  16. */
  17. public Receiver() {
  18. }
  19. public String receiveMessage() {
  20. String my = "";
  21. MapMessage message = (MapMessage) jmsTemplate.receive();
  22. try {
  23. my = message.getString("lastname");
  24. } catch (JMSException e) {
  25. throw JmsUtils.convertJmsAccessException(e);
  26. }
  27. return my;
  28. }
  29. }

ReceiverTest.java

  1. package com.ll.springActiveMQ2;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. public class ReceiverTest {
  5. public static void main(String[] args) {
  6. ApplicationContext context = new ClassPathXmlApplicationContext(
  7. "applicationContext.xml");
  8. Receiver receiver = (Receiver) context.getBean("receiver");
  9. System.out.print("接收到消息:" + receiver.receiveMessage());
  10. }
  11. }

Sender.java

  1. package com.ll.springActiveMQ2;
  2. import javax.jms.JMSException;
  3. import javax.jms.MapMessage;
  4. import javax.jms.Message;
  5. import javax.jms.Session;
  6. import org.springframework.jms.core.JmsTemplate;
  7. import org.springframework.jms.core.MessageCreator;
  8. public class Sender {
  9. private JmsTemplate jmsTemplate;
  10. public JmsTemplate getJmsTemplate() {
  11. return jmsTemplate;
  12. }
  13. public void setJmsTemplate(JmsTemplate jmsTemplate) {
  14. this.jmsTemplate = jmsTemplate;
  15. }
  16. public void sendInfo() {
  17. jmsTemplate.send(new MessageCreator() {
  18. public Message createMessage(Session session) throws JMSException {
  19. MapMessage message = session.createMapMessage();
  20. message.setString("lastname", "科比");
  21. return message;
  22. }
  23. });
  24. }
  25. }

SenderTest.java

  1. package com.ll.springActiveMQ2;
  2. import org.springframework.context.ApplicationContext;
  3. import org.springframework.context.support.ClassPathXmlApplicationContext;
  4. public class SenderTest {
  5. public static void main(String[] args) {
  6. ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
  7. Sender sender = (Sender) context.getBean("sender");
  8. sender.sendInfo();
  9. System.out.println("消息已发送...");
  10. }
  11. }


配置文件:

applicationContext.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
  6. <!--创建连接工厂 -->
  7. <bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
  8. <property name="brokerURL" value="tcp://localhost:61616"></property>
  9. </bean>
  10. <!-- 声明ActiveMQ消息目标,目标可以是一个队列,也可以是一个主题ActiveMQTopic -->
  11. <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
  12. <constructor-arg index="0" value="com.ll.springActiveMQ2"></constructor-arg>
  13. </bean>
  14. <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
  15. <property name="connectionFactory" ref="connectionFactory"></property>
  16. <property name="defaultDestination" ref="destination"></property>
  17. <property name="receiveTimeout" value="600"></property>
  18. </bean>
  19. <!-- 发送者/生产者 -->
  20. <bean id="sender" class="com.ll.springActiveMQ2.Sender">
  21. <property name="jmsTemplate" ref="jmsTemplate"></property>
  22. </bean>
  23. <!-- 接收者/消费者 -->
  24. <bean id="receiver" class="com.ll.springActiveMQ2.Receiver">
  25. <property name="jmsTemplate" ref="jmsTemplate"></property>
  26. </bean>
  27. </beans>



运行结果:









【ActiveMQ入门-9】ActiveMQ学习-与Spring集成2的更多相关文章

  1. 【spring源码学习】spring集成orm数据框架

    [一]简易的数据源配置 (1)配置文件 <!--springJdbcTemplemate数据操作配置信息 --> <bean id="driver" class= ...

  2. 【ActiveMQ入门-8】ActiveMQ学习-与Spring集成

    概述: 下面将介绍如何在Spring下集成ActiveMQ. 消费者:同步接收: 目的地:topic 环境: 主要包括4个文件: HelloSender.java: JMSTest.java: Pro ...

  3. ActiveMQ入门之四--ActiveMQ持久化方式

    消息持久性对于可靠消息传递来说应该是一种比较好的方法,有了消息持久化,即使发送者和接受者不是同时在线或者消息中心在发送者发送消息后宕机了,在消息中心重新启动后仍然可以将消息发送出去,如果把这种持久化和 ...

  4. MyBatis 学习-与 Spring 集成篇

    根据官方的说法,在 ibatis3,也就是 Mybatis3 问世之前,Spring3 的开发工作就已经完成了,所以 Spring3 中还是没有对 Mybatis3 的支持.因此由 Mybatis 社 ...

  5. ActiveMQ 入门和与 Spring 整合

    ActiveMQ 入门演示 activemq 依赖 <dependency> <groupId>org.apache.activemq</groupId> < ...

  6. Spring学习笔记--spring+mybatis集成

    前言: 技术的发展, 真的是日新月异. 作为javaer, 都不约而同地抛弃裸写jdbc代码, 而用各种持久化框架. 从hibernate, Spring的JDBCTemplate, 到ibatis, ...

  7. Spring Boot学习笔记——Spring Boot与ActiveMQ的集成

    Spring Boot对JMS(Java Message Service,Java消息服务)也提供了自动配置的支持,其主要支持的JMS实现有ActiveMQ.Artemis等.这里以ActiveMQ为 ...

  8. 从零开始学 Java - Spring 集成 ActiveMQ 配置(一)

    你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快 ...

  9. 从零开始学 Java - Spring 集成 ActiveMQ 配置(二)

    从上一篇开始说起 上一篇从零开始学 Java - Spring 集成 ActiveMQ 配置(一)文章中讲了我关于消息队列的思考过程,现在这一篇会讲到 ActivMQ 与 Spring 框架的整合配置 ...

随机推荐

  1. POJ 3685 Matrix 二分 函数单调性 难度:2

      Memory Limit: 65536K Total Submissions: 4637   Accepted: 1180 Description Given a N × N matrix A, ...

  2. SSH框架下载地址

    Struts各版本下载地址: https://dist.apache.org/repos/dist/release/struts/ Spring各版本下载地址: http://repo.spring. ...

  3. constexpr和常量表达式的注意事项

    1.常量表达式,是指其值不可改变,且在编译阶段就已经得出计算结果的表达式,例如字面值就是常量表达式. 2.判断是否是常量表达式,要关注数据类型是否是const类型,初始值是否是在编译阶段就得到的. 3 ...

  4. 使用 PHP 框架 Yii 访问 MS SQL 的尝试

    今天尝试在 Wamp 环境下访问 MS SQL 数据库,有以下心得.使用 PHP 5.3 + pdo_odbc + Yii 1.1 框架,以下两个代码段可以成功. 1.直接使用 PDO 方式,可以获取 ...

  5. Java快速排序和归并排序详解

    快速排序 概述 快速排序算法借鉴的是二叉树前序遍历的思想,最终对数组进行排序. 优点: 对于数据量比较大的数组排序,由于采用的具有二叉树二分的思想,故排序速度比较快 局限 只适用于顺序存储结构的数据排 ...

  6. 微信小程序插件开发

    小程序插件功能介绍 插件,是可被添加到小程序内直接使用的功能组件.开发者可以像开发小程序一样开发一个插件,供其他小程序使用.同时,小程序开发者可直接在小程序内使用插件,无需重复开发,为用户提供更丰富的 ...

  7. 通过JS动态创建和删除HTML元素

    <script type="text/javascript" language="Javascript"> function InputOnBlur ...

  8. 学习magento要学哪些知识

    php框架水平,具体点的就是大名鼎鼎的ZF框架.别急,先还是熟悉下OSC吧,主要是热身下商城的那些业务流的知识,基本的数据流程.自己做模板的话CSS2.0水平还不能太低.JS框架JQ吧相对简单点.当然 ...

  9. 如何用移动硬盘安装win7 系统

    身边没有U盘和光盘,就只有一个移动硬盘.移动硬盘安装系统是怎么进行的.在这里小毛孩来给大家上一课. 前期准备: 1.移动硬盘. 2.win7 32位的操作系统(*.iso). 3.有系统且可开机的电脑 ...

  10. ZOJ - 3216:Compositions (DP&矩阵乘法&快速幂)

    We consider problems concerning the number of ways in which a number can be written as a sum. If the ...