热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

ActiveMQ整合Spring入门用法解析

这篇文章主要介绍了ActiveMQ整合Spring入门用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一.ActiveMQ整合Spring基础

  ActiveMQ和Spring的整合,其实是把activemq的一些对象交给spring来管理,比如连接工厂,queue,top等等

二.依赖

  除了activemq本身提供的jar包外,还需要两个spring整合activemq的jar:


      org.springframework
      spring-jms
    
    
      org.springframework
      spring-context-support
    
    
    
      org.apache.activemq
      activemq-all
    

三.在spring配置文件中,配置activemq相关的对象

  》生产者需要配置的对象:activemq原生连接工厂,spring包装过的工厂,JmsTemplate(生产者),queue,topic



  




  
  




  
  
  




  




  

  测试代码:

//测试生产者发生queue
  @Test
  public void testJMSTemplateByQueue() throws Exception {
    
    //创建spring容器
    ApplicationContext ioc = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-activemq.xml");
    
    //获取jmstemplate
    JmsTemplate jmsTemplate = ioc.getBean(JmsTemplate.class);
    
    //获取目的对象
    Destination queue = (Destination) ioc.getBean("queueDestination");
    
    //发送消息,并设置目的对象和消息
    jmsTemplate.send(queue,new MessageCreator() {
      
      public Message createMessage(Session session) throws JMSException {
        
        TextMessage message = session.createTextMessage();
        
        message.setText("hello spring activemq");
        
        return message;
      }
    });

  小结:生产者是需要在特定的时间发送指定的消息内容,因此是需要书写代码的

  》消费者需要配置的对象:activemq原生连接工厂,spring包装过的工厂,监听容器(消费者),监听器,queue,topic

  》之前监听器我们是直接实现匿名内部类的方式,但是在spring这就不能了,还是书写一个实现类并继承messageListener接口



  




  
  







  
  
  
  
  
  




  




  

  测试代码:

@Test
  public void testListener() throws IOException {
    ApplicationContext ioc = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-activemq.xml");
    System.in.read();
  }

  小结:我们的测试代码很简单,只要把容器启动了,监听器就会一致监听着。不需要写任何代码,监听器只要一直关注目的对象Destination是否有消息发送过来

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • Android 九宫格布局详解及实现:人人网应用示例
    本文深入探讨了人人网Android应用中独特的九宫格布局设计,解析其背后的GridView实现原理,并提供详细的代码示例。这种布局方式不仅美观大方,而且在现代Android应用中较为少见,值得开发者借鉴。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 本文介绍如何在 Unity 的 XML 配置文件中,将参数传递给自定义生命周期管理器的构造函数。我们将详细探讨 CustomLifetimeManager 类的实现及其配置方法。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
  • 本文详细介绍了如何解决MyBatis中常见的BindingException错误,提供了多种排查和修复方法,确保Mapper接口与XML文件的正确配置。 ... [详细]
  • 解决JAX-WS动态客户端工厂弃用问题并迁移到XFire
    在处理Java项目中的JAR包冲突时,我们遇到了JaxWsDynamicClientFactory被弃用的问题,并成功将其迁移到org.codehaus.xfire.client。本文详细介绍了这一过程及解决方案。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • 本文介绍如何在Java项目中使用Log4j库进行日志记录。我们将详细说明Log4j库的引入、配置及简单应用,帮助开发者快速上手。 ... [详细]
author-avatar
mobiledu2502852497
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有