ActiveMQ Topic使用示例】的更多相关文章

一.非持久的Topic Topic 发送 public class NoPersistenceSender { public static void main(String[] args) throws JMSException { ConnectionFactory connectionFactory=new ActiveMQConnectionFactory("tcp://192.168.174.104:61616"); Connection connection = connec…
ActiveMQ的P2P示例(点对点通信) (1)下载安装activemq,启动activeMQ. 详细步骤参考博客:http://www.cnblogs.com/DFX339/p/9050878.html (2)新建maven项目(java项目或者web项目都可以) 代码下载地址:https://github.com/DFX339/activeMQ_demo.git 目录结构如下,需要编写的文件: Consumer.java    Provider.java   pom.xml 生产者的创建:…
直观的结果:当生产者向 topic 发送消息, 1. 若不存在持久订阅者和在线的普通订阅者,这个消息不会保存,当普通订阅者上线后,它是收不到消息的. 2. 若存在离线的持久订阅者,broker 会为该持久订阅者保存消息,当该持久订阅者上线后,会收到消息. 本质:producer 发送消息给 topic,broker 接收消息并且分发给 consumers.consumers 包括持久订阅者和在线的普通订阅者,对于持久订阅者,broker 把消息添加到它的 message cursor 中:对于普…
非持久化模式下,Topic不会落地任何消息,消息入队即出队, 消费者如果想要保留离线后的消息需要告诉MQ实例,即注册过程, 代码上大概是这样的: connectionFactory = new ActiveMQConnectionFactory(username, password, brokerUrl); connection = connectionFactory.createConnection(); connection.setClientID(durableSubscribe.elem…
1. Queue 1.1 Producer 生产者:生产消息,发送端. 把jar包添加到工程中. 第一步:创建ConnectionFactory对象,需要指定服务端ip及端口号. 第二步:使用ConnectionFactory对象创建一个Connection对象. 第三步:开启连接,调用Connection对象的start方法. 第四步:使用Connection对象创建一个Session对象. 第五步:使用Session对象创建一个Destination对象(topic.queue),此处创建一…
生产者: package com.111.activemq; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProducer; import javax.jms.Session; import javax.jms.TextMessage; imp…
首先先安装ActiveMQ:https://www.cnblogs.com/hejianliang/p/9149590.html 创建Java项目,把 activemq-all-5.15.4.jar 包导入到项目. 本次案例主要有两个角色,分别是 新闻发布者(NewsPublisher).新闻订阅者(NewsSubscriber):发布者相当于 生产者,负责生产消息,订阅者相当于 消费者,负责接收消息. 新闻发布者(NewsPublisher) package edu.activemq.publ…
非持久的Topic消息示例  对于非持久的Topic消息的发送基本跟前面发送队列信息是一样的,只是把创建Destination的地方,由创建队列替换成创建Topic,例如: Destination destination = session.createTopic("MyTopic"); 对于非持久的Topic消息的接收1:必须要接收方在线,然后客户端再发送信息,接收方才能接收到消息2:同样把创建Destination的地方,由创建队列替换成创建Topic,例如:Destination…
一.编译 虽然ActiveMQ提供了发布版本,但是建议同学们自己下载源代码编译,以后万一有坑,还可以尝试自己改改源码. 1.1 https://github.com/apache/activemq/releases 到这里下载最新的release版源码(当前最新版本为5.13.2),并解压到某个目录(以下用$ACTIVEMQ_HOME代替解压根目录) 1.2 编译 cd $ACTIVEMQ_HOME mvn clean install -Dmaven.test.skip=true 编译成功后,在…
1.ActiveMQ下载地址 http://activemq.apache.org/download.html 2.ActiveMQ安装,下载解压之后如下目录…
                                                  Topic消息 非持久的 Topic消息示例对于非持久的 Topic消息的发送       基本跟前而发送队列信息是一样的,以是把创建 Destination的地方,由创建队列替换成创建 Topic,例如:Destination destination =session createTopic( "mytopic");对于非持久的 Topic消息的接收1:必须要接收方在线,然后客户端再发…
Topic模式消息发送实例 1.pom引入 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.apache.a…
------------------------------------------------ 开发一个JMS的基本步骤如下: 1.创建一个JMS connection factory 2.通过connection factory来创建JMS connection 3.启动JMS connection 4.通过connection创建JMS session 5.创建JMS destination 6.创建JMS producer 或者创建JMS message,并设置destination 7…
1.概述与介绍 ActiveMQ是Apache出品,最流行的.功能强大的即时通讯和集成模式的开源服务器.ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMSProvider实现.提供客户端支持跨语言和协议,带有易于在充分支持JMS1.1和1.4使用J2EE企业集成模式和许多先进的功能. 2.特性 (1)多种语言和协议编写客户端(语言:Java.C.C++.C#.Ruby.Perl.Python.PHP.应用协议:OpenWire.StompREST.WSNotification…
一.下载使用: 官网下载apache-activemq-5.8.0-bin.tar.gz.apache-activemq-5.8.0-bin.zip 解压,然后启动ActiveMQ服务器 方法1: 直接运行bin\activemq.bat 方法2(在JVM中嵌套启动): cd example ant embedBroker 可以登录ActiveMQ消息管理后台系统:http://localhost:8161/adminadmin/admin登录 二.运行小例子 1.Queue消息示例: * 启动…
一.特性及优势 1.实现JMS1.1规范,支持J2EE1.4以上2.可运行于任何jvm和大部分web容器(ActiveMQ works great in any JVM)3.支持多种语言客户端(java, C, C++, AJAX, ACTIONSCRIPT等等)4.支持多种协议(stomp,openwire,REST)5.良好的spring支持(ActiveMQ has great Spring Support)6.速度很快,JBossMQ的十倍(ActiveMQ is very fast;…
JMS是什么 JMS Java Message Service,Java消息服务,是Java EE中的一个技术. JMS规范 JMS定义了Java 中访问消息中间件的接口,并没有给予实现,实现JMS 接口的消息中间件称为JMS Provider,例如ActiveMQ JMS provider:实现JMS接口和规范的消息中间件 JMS message:JMS的消息,JMS消息由以下三部分组成: 1:消息头:每个消息头字段都有相应的getter和setter方法 2:消息属性:如果需要除消息头字段以…
1.    Composite Destinations  组合目的地 组合队列Composite Destinations : 允许用一个虚拟的destination代表多个destinations,这样就可以通过composite destinations在一个操作中同时向多个queue/topic发送消息. 有两种实现方式: 第一种:在客户端编码实现 第二种:在activemq.xml配置文件中实现 第一种:在客户端编码实现 在composite destinations中,多个desti…
Windows 10家庭中文版,Python 3.6.4,stomp.py 4.1.21 ActiveMQ支持Python访问,提供了基于STOMP协议(端口为61613)的库. ActiveMQ的官文Cross Language Clients中给出了更详细的介绍,并附有示例代码,如下图: 第一行为常规Python访问,第二行为使用Jython访问的方式,四个操作. Python访问ActiveMQ需要使用stomp.py,见其官网. 下载官网的代码,解压,命令行进入其目录,使用pyhthon…
一.非持久的Topic消息示例 注意 此种方式消费者只能接收到 消费者启动之后,发送者发送的消息. 发送者 package com.lhy.mq.helloworld; import java.util.concurrent.TimeUnit; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.DeliveryMode; import javax.jms.Destination; i…
一.为什么使用ActiveMQ 在总线的设计中可能会使用到JMS(Java Message Service)通道, Java消息服务(JMS)超越了生产商专有的MOM(Message-Oriented-MiddleWare) API,它为企业消息传递提供了一套API.JMS的目标是提供一个标准API,使用Java语言,以生产商中立的方式来发送和接收消息.JMS API最小化了一个Java编程者应具备的企业消息传递的知识量,来开发复杂消息传递应用程序,而仍能维持一定的跨JMS提供者实现的可移植性.…
前言:本文是基于Spring和ActiveMQ的一个示例文章,包括了Point-To-Point的异步队列消息和PUB/SUB(发布/订阅)模型,只是做了比较简单的实现,无任何业务方面的东西,作为一个入门教程. 适合对象:希望学习ActiveMQ的朋友,以及利用Spring将ActiveMQ集成到系统中 目录结构: Maven依赖: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3…
命令行工具 命令行工具 n        activemq——运行activemq代理 n activemq-admin——管理代理的实例 在5.0之前activemq-admin被分成多个脚本,例如: n        shutdown——关闭activemq代理 n        list——列出所有在指定JMX上下文中运行的代理 n        query——查询JMX上下文中的代理统计和信息. n        bstat——预定义查询,显示有用的代理统计信息. n        br…
1. Visual Destinations 1.1 概述 虚拟Destination用来创建逻辑Destinations,客户端可以通过它来产生和消费消息,它会把消息映射到物理Destinations.ActiveMQ支持两种方式: 1. 虚拟主题(Virtual Topics) 2. 组合Destinations (Composite Destinations) 1.2 为何使用虚拟主题 ActiveMQ中,topic只有在持久订阅下才会持久化,持久订阅时,每个订阅者,都相当于一个queue…
1. JMS的API结构 其实上图中的五个API在第一节中我们都已经使用到了.本节将会讲非持久化和持久化topic的使用. 2. JMS的基本开发步骤 1. 创建一个JMS工厂,  ConnectionFactory 2.  通过Connection Factory来创建JMS的Connection 3. 启动JMS connection 4. 通过JMS connection来创建JMS Session 5. 创建JMS destination 6. 创建JMS producer或JMS Me…
一.特性及优势 1.实现JMS1.1规范,支持J2EE1.4以上 2.可运行于任何jvm和大部分web容器(ActiveMQ works great in any JVM) 3.支持多种语言客户端(java, C, C++, AJAX, ACTIONSCRIPT等等) 4.支持多种协议(stomp,openwire,REST) 5.良好的spring支持(ActiveMQ has great Spring Support) 6.速度很快,JBossMQ的十倍(ActiveMQ is very f…
一.为什么使用ActiveMQ 在总线的设计中可能会使用到JMS(Java Message Service)通道, Java消息服务(JMS)超越了生产商专有的MOM(Message-Oriented-MiddleWare) API,它为企业消息传递提供了一套API.JMS的目标是提供一个标准API,使用Java语言,以生产商中立的方式来发送和接收消息.JMS API最小化了一个Java编程者应具备的企业消息传递的知识量,来开发复杂消息传递应用程序,而仍能维持一定的跨JMS提供者实现的可移植性.…
一.什么是JMS JMS是java message service的缩写即java消息服务,是java定义的消息中间件(MOM)的技术规范(类似玉JDBC).用于程序之间的异步通信,如果两个应用程序需要通信,则可以通过JMS来进行转发,达到解耦的目的. 二.JMS的消息模型 JMS有两种消息模型: 1.点对点或队列模型(Point-to-Point Messaging Domain):消息的生产者将生产出的消息加入到一个队列中,消息的接受者从队列中获取消息.队列保留着消息,直到他们被消费或者超时…
1.Activemq安装 直接到官网下载:记住apache的官网是域名反过来,比如我们找activemq就是activemq.apache.org. 最新版本要求最低的JDK是8,所以最好在电脑装多个版本的JDK,用的时候切换就 可以了. 下载完成是个压缩包,解压目录如下: 1.启动:%activemq%\apache-activemq-5.15.6\bin\win64\activemq.bat启动即可,日志如下:(可以看出是集成就wrapper) 访问:http://localhost:816…
由于项目原因,最近经常碰到Kafka消息队列拥堵的情况.碰到这种情况为了不影响在线系统的正常使用,需要大家手动的清理Kafka Log.但是清理Kafka Log又不能单纯的去删除中间环节产生的日志,中间关联的很多东西需要手动同时去清理,否则可能会导致删除后客户端无法消费的情况. 在介绍手动删除操作之前,先简单的介绍一下Kafka消费Offset原理. 一.Kafka消费Offset 在通过Client端消费Kafka中的消息时,消费的消息会同时在Zookeeper和Kafka Log中保存,如…