当我们发送消息的时候,会出现发送失败的情况,此时我们需要用到activemq为我们提供了消息重发机制,进行消息的重新发送.那么我们怎么知道消息有没有发送失败呢?activemq还有消息确认机制,消费者在接收到消息的时候可以进行确认.本节将确认机制和重发机制一起在原有的代码中学习. 消息确认机制有四种:定义于在session对象中 AUTO_ACKNOWLEDGE= 1 :自动确认 CLIENT_ACKNOWLEDGE= 2:客户端手动确认 UPS_OK_ACKNOWLEDGE= 3: 自动批量确…
转自:https://www.cnblogs.com/Survivalist/p/8094069.html ActiveMQ基本详解与总结 基本使用可以参考https://www.cnblogs.com/zhuxiaojie/p/5564187.html 和 https://blog.csdn.net/lifetragedy/article/details/51836557 MQ简介: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检…
一种分类是推和拉 . 还有一种分类是 Queue 和 Pub/Sub . 先看的这一篇:http://blog.csdn.net/heyutao007/article/details/50131089 先讲了JMS和遵守JMS的ActiveMQ.Java Message Service,JMS,指的是面向消息中间件(MOM),用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. JMS中定义了两种消息模型:点对点(point to point, queue)和发布/订阅(publish…
JMS消息可靠机制 ActiveMQ消息签收机制: 客戶端成功接收一条消息的标志是一条消息被签收,成功应答. 消息的签收情形分两种: 1.带事务的session 如果session带有事务,并且事务成功提交,则消息被自动签收.如果事务回滚,则消息会被再次传送. 2.不带事务的session 不带事务的session的签收方式,取决于session的配置. Activemq支持以下三种模式: Session.AUTO_ACKNOWLEDGE  消息自动签收 Session.CLIENT_ACKNO…
这里单独列出来我也是觉得有点必要的,毕竟JMS总体知识点并不多,这点可能被很多人所忽视. 首选定义:消息的确认是指消息接受者接到消息,并做出了对应的处理之后,它将回送一个确认消息. 对于非事务性会话,创建会话时应该指定确定方式,JMS定义了3种确认方式: JMS确认3种方式 Auto_ACKnowledge 自动通知.对于同步消费者,Receive方法调用返回,且没有异常发生时,将自动对收到的消息予以确认.对于异步消息,当onMessage方法返回,且没有异常发生时,即对收到的消息自动确认. C…
PTP(点对点的消息模型) 在点对点模型中,相当于两个人打电话,两个人独享一条通信线路.一方发送消息,一方接收消息. 在p2p的模型中,双方通过队列交流,一个队列只有一个生产者和一个消费者. 1.建立项目  建立一个java项目,导入jar包,将apache-activemq-5.11.1-bin.zip解压缩后里面的activemq-all-5.11.1.jar包加入到classpath下面,这个包包含了所有JMS接口API的实现. 点对点的消息模型,只需要一个消息生成者和消息消费者. 编写生…
前言 之所以使用JNDI 是出于通用性考虑,该例子使用JMS规范提供的通用接口,没有使用具体JMS提供者的接口,这样可以保证我们编写的程序适用于任何一种JMS实现(ActiveMQ.HornetQ等). 什么是JNDI:JNDI(Java Naming and Directory Interface)是一个标准规范,类似于JDBC,JMS等规范,为开发人员提供了查找和访问各种命名和目录服务的通用.统一的接口.J2EE 规范要求所有 J2EE 容器都要提供 JNDI 规范的实现,因此Tomcat就…
Spring提供了一个JmsTransactionManager用于对JMS ConnectionFactory做事务管理.这将允许JMS应用利用Spring的事务管理特性.JmsTransactionManager在执行本地资源事务管理时将从指定的ConnectionFactory绑定一个ConnectionFactory/Session这样的配对到线程中.JmsTemplate会自动检测这样的事务资源,并对它们进行相应操作. 在Spring整合JMS的应用中,如果我们要进行本地的事务管理的话…
上文可见,JMS Native API使用起来不是特别方便.好在Spring提供了很好的JMS支持. (一)配置ConnectionFactory 如果使用连接池的话,不要忘记activemq-pool-5.6.0.jar <bean id="connectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" destroy-method="stop">…
一.前言 通过上一篇的学习我们知道了消息分为三个部分,即消息头,属性及消息体,并对消息头的十个属性进行了详细的介绍,本文再对消息属性及消息体进行详细的介绍. 二.属性介绍 消息属性的主要作用是可以对头信息进行一个额外的补充,毕竟消息头信息一是有限,二是很多不能由应用程序设定.通常,消息属性可以用在消息选择器的表达式里,结合起来实现对消息的过滤. 消息属性的值只能是基本的类型,或者这些基本类型对应的包装类型.也就是说,不能将一个自定义的对象作为属性值.通常情况下,如果能够放在body里的内容,就不…