实现JMS规范的ActiveMQ
ActiveMQ是Apache软件基金会的开源产品,支持AMQP协议、MQTT协议(和XMPP协议作用类似)、Openwire协议和Stomp协议等多种消息协议。并且ActiveMQ完整支持JMS API接口规范(当然Apache也提供多种其他语言的客户端,例如:C、C++、C#、Ruby、Perl)。
ActiveMQ的安装是很简单,具体的过程就是:下载->解压->配置环境变量->运行。
可以Apache ActiveMQ的官网下载安装包:https://activemq.apache.org/download-archives.html。
activemq命令除了start参数用于启动activemq程序以外,还有另外5个参数可以使用:console | stop | restart | status | dump。console:使用控制台模式启动ActiveMQ节点;在这种模式下,开发人员可以调试、监控当前ActivieMQ节点的实时情况,并获取实时状态。dump:如果您采用console模式运行ActiveMQ,那么就可以使用dump参数,在console控制台上获取当前ActiveMQ节点的线程状态快照。
JMS是一个和厂商无关的规范,通过JMS,我们能实现不同消息中间件厂商、不同协议间的转换和交互。这一小节我们就来讨论一下这个问题。如果用一张图来表示JMS在消息中间件中的作用话,那么就可以这么来画:
首先您使用的MQ消息中间件需要实现了JMS规范;那么通过JMS规范,开发人员可以忽略各种消息协议的细节,只要消息在同一队列中,就能够保证各种消息协议间实现互相转换。
架构设计:系统间通信(21)——ActiveMQ的安装与使用
实现JMS规范的ActiveMQ的更多相关文章
- 消息中间件系列一:入门、JMS规范、ActiveMQ使用
一.入门 1. 消息中间件的定义 没有标准定义,一般认为,采用消息传送机制/消息队列 的中间件技术,进行数据交流,用在分布式系统的集成 2. 为什么要用消息中间件 解决分布式系统之间消息的传递.电商场 ...
- ActiveMQ 笔记(三)JMS规范和落地产品、小知识Broker
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 一.JMS规范概述 1.JavaEE 概述及主要核心规范 JavaEE是一套使用Java进行企业级应用开 ...
- MQ学习(一)----JMS规范(转发整合)
最近进行ActiveMQ的学习,总结下已被不时之需. JMS规范: JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的A ...
- JAVA消息服务JMS规范及原理详解
JAVA消息服务JMS规范及原理详解 一.简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应 ...
- JMS学习以及jms的实现activeMq
1.JMS规范介绍: http://www.cnblogs.com/hapjin/p/5431706.html http://elim.iteye.com/blog/1893038 http://bl ...
- JMS学习(五)--ActiveMQ中的消息的持久化和非持久化 以及 持久订阅者 和 非持久订阅者之间的区别与联系
一,消息的持久化和非持久化 ①DeliveryMode 这是传输模式.ActiveMQ支持两种传输模式:持久传输和非持久传输(persistent and non-persistent deliver ...
- Spring整合JMS(一)——基于ActiveMQ实现 (转)
*注:别人那复制来的 1.1 JMS简介 JMS的全称是Java Message Service,即Java消 息服务.它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者 ...
- Jms规范学习
1.什么是消息中间件? 关注于数据的发送和接受,利用高效可靠的异步消息传递机制集成分布式系统. 2.什么是JMS? Java消息服务(java Message Service)即JMS,是一个java ...
- JMS规范与Kafka
一.为什么需要消息队列 消息队列的核心作用就是三点:解耦一个系统中各个子模块的互相绑定与依赖,异步执行后台耗时逻辑,并行处理一个请求中涉及的多个操作. 以我们常见的下订单场景来说明,我们熟悉的淘宝,后 ...
随机推荐
- configparser、subprocess模块
一.configparser模块 该模块适用于配置文件的格式与windows ini文件类似,可以包含一个或多个节(section),每个节可以有多个参数(键=值). 1.创建文件 一般软件的常见文档 ...
- cf188C(最大子段和&&思维)
C. Functions again time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- HDOJ1001
#include<iostream> using namespace std; int main() { long long n; while(cin >> n) { cout ...
- 关于InputStream类的available()方法
要一次读取多个字节时,经常用到InputStream.available()方法,这个方法可以在读写操作前先得知数据流里有多少个字节可以读取.需要注意的是,如果这个方法用在从本地文件读取数据时,一般不 ...
- iOS UI-集合视图(UICollectionView)
BowenCollectionViewCell.xib #import <UIKit/UIKit.h> @interface BowenCollectionViewCell : UICol ...
- Django rest framework(2)----权限
一 添加权限 (1)API/utils文件夹下新建premission.py文件,代码如下: message是当没有权限时,提示的信息 #!/usr/bin/env python # coding:u ...
- 华为root手机
- httpclient 连接路由
http路由 httpclient能够直接或通过路由建立连接到目标主机,这会涉及多个中间连接,也被称为跳. Httpclient区分路由和普通连接,通道和分层. 通道连接到目标主机的多个中间代理的使用 ...
- ETL设计详解
ETL是BI项目最重要的一个环节,通常情况下ETL会花掉整个项目的1/3的时间,ETL设计的好坏直接关接到BI项目的成败.ETL也是一个长期的过程,只有不断的发现问题并解决问题,才能使ETL运行效率更 ...
- numpy 小示例
import numpy as np 生成 3*4 的由 0 组成的二维数组 >>> np.zeros((3,4)) array([[0., 0., 0., 0.], [0., 0 ...