转自:http://www.cnblogs.com/luochengqiuse/p/4678020.html?utm_source=tuicool&utm_medium=referral 最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的…
最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持. 简短来说,JMS是一种与厂商无…
对于ActiveMQ消息的发送,原声的api操作繁琐,而且如果不进行二次封装,打开关闭会话以及各种创建操作也是够够的了.那么,Spring提供了一个很方便的去收发消息的框架,spring jms.整合Spring后,代码不仅变得非常优雅,而且易用性和扩展性更好. 废话不多说,直接开搞. 1. maven依赖 <!-- activemq --> <dependency> <groupId>org.apache.xbean</groupId> <artif…
为了帮助你理解ActiveMQ的意义,了解企业消息传送背景和历史是很重要的.讨论完企业消息传送,你将可以通过一个小例子了解JMS及其使用.这章的目的是简要回顾企业消息传送及JMS规范.如果你已经熟悉这些主题,你可以跳过直接到下一章去. 软件开发者经常需要在两个系统之间交流或搬运数据.这种问题有很多解决办法.但限于你的条件和需求,选择一种解决方案是一个大决定.商业需求往往有严格的限制条件,直接影响你的决定的有性能,扩展性,稳定性等.我们日常使用的很多系统都有这样的要求,比如ATM系统,航班预订系统…
最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持. 简短来说,JMS是一种与厂商无…
JMS let’s you send messages containing for example a String, array of bytes or a serializable Java object, from one program to another. It doesn’t however use a direct connection from program A to program B, instead the message is sent to a JMS provi…
JMS and ActiveMQ first lesson -- jms基础概念和应用场景 2011-6-18 PM 9:30 主讲:kimmking <kimmking@163.com> 整理:林木森 ppt下载地址: http://code.google.com/p/activemq-store-mongodb/downloads/list 下面开始: kimmking:介绍下jms和ActiveMQ.在讲JMS之前,我们聊聊相关的背景.谁知道JMS是什么意思? kimmking:对,是m…
JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中 一.JMS的理解JMS(Java Message Service)是jcp组织02-03年定义了jsr914规范(http://jcp.org/en/jsr/detail?id=914),它定义了消息的格式和消息传递模式:消息包括:消息头,消息扩展属性和消息体,其结构看起来与SOAP非常的相似,但一般情况下,SOAP主要关注远程服务调用,而消息则专注于信息的交换:消息分为:消息生产者,消息服务器和消息消费者.生产者与消费者之间…
第一篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了JMS的两种消息模型:点对点和发布订阅模型,以及消息被消费的两个方式:同步和异步,JMS编程模型的对象,最后说了JMS的优点. 第二篇博文深入浅出JMS(二)–ActiveMQ简单介绍以及安装,我们介绍了消息中间件ActiveMQ,安装,启动,以及优缺点. 这篇博文,我们使用ActiveMQ为大家实现一种点对点的消息模型.如果你对点对点模型的认识较浅,可以看一下第一篇博文的介绍. JMS其实并没有想象的那么高大上,看完这篇博文之后,你就知…
这篇文章主要是简单介绍一下JMS和ActiveMQ,以及使用ActiveMQ来写两个demo. 1. JMS是啥 百度百科的解释: JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持. JMS只是接口,不同的提供商或者开源组织对其有不同的实现,ActiveMQ就是…
本文章的完整代码可从我的github中下载:https://github.com/huangbowen521/SpringJMSSample.git 上一篇文章中介绍了如何安装和运行ActiveMQ.这一章主要讲述如何使用Spring JMS向ActiveMQ的Message Queue中发消息和读消息. 首先需要在项目中引入依赖库. spring-core: 用于启动Spring容器,加载bean. spring-jms:使用Spring JMS提供的API. activemq-all:使用A…
(一)什么是JMS jms即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信.Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持. (二)常见的JMS提供商有哪些? IBM 的 MQSeries BEA 的 Weblogic JMS service Apache 的 ActiveMQ 本系列都采用ActiveMQ (三)核…
关键字: activemq 1 JMS    在介绍ActiveMQ之前,首先简要介绍一下JMS规范.1.1 JMS的基本构件1.1.1 连接工厂    连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQConnectionFactory. 1.1.2 连接    JMS Connection封装了客户与JMS提供者之间的一个虚拟的连接. 1.1.3 会话    JMS Session是生产和消费消息的一个单线程上下文.会话用于创建消息生产者(producer).消息消…
一.什么是JMS JMS是java message service的缩写即java消息服务,是java定义的消息中间件(MOM)的技术规范(类似玉JDBC).用于程序之间的异步通信,如果两个应用程序需要通信,则可以通过JMS来进行转发,达到解耦的目的. 二.JMS的消息模型 JMS有两种消息模型: 1.点对点或队列模型(Point-to-Point Messaging Domain):消息的生产者将生产出的消息加入到一个队列中,消息的接受者从队列中获取消息.队列保留着消息,直到他们被消费或者超时…
首先我们搭建一个spring-mvc项目,项目可以参考:spring-mvc 学习笔记 步骤: 在pom.xml中加上需要的包 修改web.xml,增加IOC容器 spring配置文件application.xml增加对应的bean 生产者Java代码 消费者Java代码 1.在pom.xml加上需要的包 <!-- ActiveMQ支持 --> <dependency> <groupId>org.apache.activemq</groupId> <a…
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/69046395 解决使用activemq时抛出的异常:javax.j ms.JMSException: Could not connect to broker URL 我使用的是spring jms和activemq结合,在配置文件中定义了普通的connectionFactory的bean,如下所示: <bean id="connectionFactory" cla…
Spring Jms集成ActiveMQ学习记录. 引入依赖包 无论生产者还是消费者均引入这些包: <properties> <spring.version>3.0.5.RELEASE</spring.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId&g…
深入浅出 JMS(三) - ActiveMQ 安全机制 一.认证 认证(Authentication):验证某个实体或者用户是否有权限访问受保护资源. MQ 提供两种插件用于权限认证: (一).Simple authentication plug-in:直接把相关的权限认证信息配置到XML文件中. 配置 conf/activemq.xml 的 broke元素添加插件: <plugins> <simpleAuthenticationPlugin> <users> <…
深入浅出 JMS(四) - ActiveMQ 消息存储 一.消息的存储方式 ActiveMQ 支持 JMS 规范中的持久化消息与非持久化消息 持久化消息通常用于不管是否消费者在线,它们都会保证消息会被消费者消费.当消息被确认消费后,会从存储中删除 非持久化消息通常用于发送通知以及实时数据,通常要求性能优先,消息可靠性并不是必须的情况 MQ 支持可插拔式的消息存储,如:内存.文件和关系数据库等方式 Queue 消息模型在 ActiveMQ 的存储: 采用存储采用先进先出(FIFO),一个消息只能被…
深入浅出 JMS(二) - ActiveMQ 入门指南 上篇博文深入浅出 JMS(一) – JMS 基本概念,我们介绍了消息通信的规范JMS,这篇博文介绍一款开源的 JMS 具体实现-- ActiveMQ.ActiveMQ 是一个易于使用的消息中间件. 一.消息中间件和 ActiveMQ (1) 消息中间件(MOM:Message Orient middleware) 我们简单的介绍一下消息中间件,对它有一个基本认识就好,消息中间件有很多的用途和优点: 将数据从一个应用程序传送到另一个应用程序,…
1.JMS Java消息服务(Java Message Service)即JMS,是一个Java平台中关于面向消息中间件的API,用于两个程序之间,或分布式系统中发送消息,进行异步通信. JMS包括队列与主题两种模式,一种是点对点的Queue,还有一个是发布订阅的Topic方式.区别在于: (1)对于Queue模式,一个发布者发布消息,下面的接收者按队列顺序接收,比如发布了10个消息,两个接收者A,B那就是A,B总共会收到10条消息,不重复. (2)对于Topic模式,一个发布者发布消息,有两个…
1.ActiveMQ持久化机制 1.1 JDBC将数据持久化到数据库 1.2 AMQ生成日志文件 1.3 KahaDB:本次磁盘生成数据文件(默认) 1.4 LevelDB:谷歌K/V数据库 1.5 默认不持久化,正常的开发模式当中,是需要持久化的 DeliveryMode.NON_PERSISTENT = 1 不开启持久化 DeliveryMode.PERSISTENT = 2 开启持久化 1.6 使用JDBC持久化 步骤一:创建一个数据库 步骤二:配置activemq.xml配置文件 1.在…
#### 软件架构项目中需要用到activeMQ 下载地址:http://activemq.apache.org/download.html #### 安装教程需要安装jdk环境activeMQ免安装下载完成后在./bin/activemq start :启动服务 ./bin/activemq stop :停止服务./bin/activemq restart :重启 服务 #### 使用说明 ## com.abel.main 包下的类 简单demo 测试成功即可## transcation 包下…
前言 上篇博客<JMS实战--ActiveMQ>介绍了ActiveMQ的安装,并实现了简单的PTP模型.这篇博客我们来看一下Pub-Sub模型,之后来总结一下JMS. 实现 项目结构 其中,一个消息发布者Producer,两个接收者Consumer1.Consumer2,还有两个监听类Listener1和2,负责监听消费者是否收到消息. 消息生产者Producer Producer类的代码实现跟上篇博客中的Sender类十分类似,但要注意的是,destination = session.cre…
一.引入maven依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> <dependency> <groupId>org.springframework.boot<…
一.说明 从 ActiveMQ 5.9 开始, ActiveMQ 的集群实现方式取消了传统的 Master-Slave 方式,增加了基于ZooKeeper + LevelDB 的 Master-Slave 实现方式,其他两种方式目录共享和数据库共享依然存在.三种集群方式的对比: 1.基于共享文件系统(KahaDB, 默认) <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> <…
一.理解JMS   1.什么是JMS?         JMS即Java消息服务(Java Message Service)应用程序接口,API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建.发送.接收和读取消息.它使分布式通信耦合度更低,消息服务更加可靠以及异步性. 我们可以简单的理解:两个应用程序之间需要进行通信,我们使用一个JMS服务,进行中间的转发,通过JMS 的使用,我们可以解除两个程序之间的耦合. JMS不是消息队列,更不是某种消息队列协议.JMS是Jav…
1. 概述 ActiveMQ不仅支持persistent和non-persistent两种方式,还支持消息的恢复(recovery)方式. 2. PTP Queue的存储是很简单的,其实就是FIFO的Queue 2. PUB/SUB 对于持久化订阅主题,每一个消费者都将获得一个消息的复制. 3. 有效的消息存储 ActiveMQ 提供了一个插件式的消息存储,类似于消息的多点传播,主要实现了如下几种: 1. AMQ消息存储-基于文件的存储方式,是以前默认的消息存储. 2. KahaDB消息存储-提…
我的团队和我正在创建一个由一组RESTful JSON服务组成的服务平台,该平台中的每个服务在平台中的作用就是分别提供一些独特的功能和/或数据.由于平台中产生的日志四散各处,所以我们想,要是能将这些日志集中化处理一下,并提供一个能够让我们查看.过滤.排序和搜索我们所有的日志的基本型的日志查看工具就好了.我们还想让我们的日志是异步式的,因为我们可不想在写日志的时候(比方说,可能会将日志直接写入数据库),让我们提供的服务因为写日志而暂时被阻挡住. 实现这个目标的策略非常简单明了. 安装ActiveM…
ActiveMQ从5.9.0版本开始,集群实现方式取消了传统的Master-Slave方式,增加了基于ZooKeeper+LevelDB的实现方式. 本文主要介绍了在Windows环境下配置基于ZooKeeper的ActiveMQ高可用性集群,集群实现了主备功能,实现了单点故障时的高可用性,并不涉及负载均衡技术. 从整体上看,整个安装配置过程主要有以下几个步骤: 1. Windows Server环境搭建.端口配置2. Jre安装配置3. Zookeeper安装配置4. ActiveMQ安装配置…