JBoss EAP 7消息系统

JBoss EAP 7消息服务

JBoss EAP 6的消息系统是通过HornetQ实现,这是一个JBoss的社区项目。后来HornetQ捐献给了Apache ActiveMQ项目,HornetQ社区加入对HornetQ的支持,并创建了新的消息系统Apache ActiveMQ Artemis,这就是JBoss EAP 7所使用的消息系统。Apache ActiveMQ Artemis提供了对JBoss EAP 6的兼容性支持,对HornetQ也提供了协议上的支持。

消息系统

经典的JMS 1.1系统API组成如下:

JMS 2.0系统API组成:

Apache ActiveMQ Artemis核心API

Apache ActiveMQ Artemis内核API中,把JMS Queue和Topic统一包装为一个地址(address),无差别作为核心queue操作,并以"jms.queue"为前缀。对于JMS topic,可以绑定一个或者多个queue到核心queue(Topic的表示)上,这些queue的地址被当做这个Topic的订阅(subscription)。对于JMS Queue,有唯一的queue绑定到该核心queue(Queue的表示),表示这个JMS Queue。

核心API是JMS之外的客户端API,一般可以提供比JMS更丰富的功能。

JBoss EAP 7的Apache ActiveMQ Artemis集成

一些绑定规范

  • 对于可以远程访问的Queue或者Topic需要以“java:jboss/exported” 开头的命名空间(namespace)

    •   远程客户端必须通过“java:jboss/exported”之后的文本字段查找,如testQueue的entries为“jms/queue/test java:jboss/exported/jms/queue/test”,远程客户端只能通过“jms/queue/test”来查找Queue,而本地客户端可以通过java:jboss/exported/jms/queue/test, java:jms/queue/test,或者“jms/queue/test”来查找。
  • 操作方式有CLI或者web admin console。

Apache ActiveMQ Artemis总览

消息API和协议

一些标准的消息系统操作方式,也是Apache ActiveMQ Artemis已经支持的协议:

  • JMS
  • System specific APIs
  • Restful API
  • AMQP(Advanced Message Queuing Protocol)
  • MQTT
  • STOMP
  • OPENWIRE

Apache ActiveMQ Artemis协议

  1. AMQP
  2. OpenWire
  3. MQTT
  4. STOMP
  5. HornetQ (for use with HornetQ clients).
  6. CORE (Artemis CORE protocol)

Artemis架构

内核架构

Stand-alone server架构

应用内嵌支持(Application embeded support)
与JavaEE应用服务器的集成架构

时间: 2024-08-27 20:18:58

JBoss EAP 7消息系统的相关文章

JBoss EAP应用服务器部署方法和JBoss 开发JMS消息服务小例子

一.download JBoss-EAP-6.2.0GA: http://jbossas.jboss.org/downloads JBoss Enterprise Application Platform(JBoss EAP)作为Redhat公司的商业产品是一个更加关注企业级特性和稳定性的实用部署版为了与JBoss Application Server(JBoss AS) 为了使这两个产品有差异化避免用户混淆因此 RedHat公司在2013年4月将JBoss AS正式更名为WildFly改名后的

JBOSS EAP 6 系列四 EJB实现——调用(贯穿始终的模块)

本文主要介绍在JBOSS EAP 6.2(或者JBOSS AS7)中模块是如何贯穿EJB实现的始终.延续上一博文<认识模块的使用>的话题继续聊JBOSS做为模块申明式容器的这一特性在EJB实现中的完全贯彻. Session bean JBOSS EAP(AS7)中默认的EJB是3.1版本遵循JSR318规范.EJB从3.0开始已经全面引入Annotation的概念,3.0以前的EJB需要在XML文件里面对Bean所做的配置都能通过标签的方式在代码中实现.同时,之前为了工厂模式而做的双接口Hom

JBOSS EAP 6 系列一 新特性

在项目中,采用的架构是Springmvc+spring+EJB+Jpa等架构,当然服务器是Jboss,本次Jboss我们采用的是JBossEap6.2,Jboss7的新特性与Jboss4.5的大的改变是: 模块申明式容器 JBOSS EAP不再有lib的概念,一切都是module.无论是系统调用的lib,用户编制的lib,或者应用程序引用到的第三方lib都以模块的方式构建起来,并在使用的地方申明具体使用了哪个模块.这就带来两个好处, 按官方的说法提供了一种完全的模块化的类加载系统,JBOSS会根

JBOSS EAP 6 系列三 Oracle、Mysql数据源的配置(驱动)—认识模块的使用

本文介绍JBOSS EAP 6.2中Oracle数据源的配置方式.结合之前JBOSS EAP 6.2新功能,本文初识JBOSS模块申明式容器这一特性. 模块申明式容器:JBOSS EAP不再有lib的概念,一切都是module.无论是系统调用的lib,用户编制的lib,或者应用程序引用到的第三方lib都以模块的方式构建起来,并在使用的地方申明具体使用哪个模块. 以下分三步介绍数据源的配置: 将数据库驱动构建为JBOSS内的模块 为JBOSS容器加载驱动模块 为JBOSS容器配置数据源 1.将数据

linux下jboss eap 6.3 集群(cluster)配置

jboss eap 6.3 集群(cluster)配置 接上一篇继续,Domain模式解决了统一管理多台jboss的问题,今天我们来学习如何利用mod_cluster来实现负载均衡.容错. mod_cluster是jboss的一个开源集群模块(基于apache 2.2.x),官网地址为http://mod-cluster.jboss.org/ ,下面是使用步骤: 一.从官网下载binary文件 http://mod-cluster.jboss.org/downloads/1-2-6-Final-

JBOSS EAP 6 系列六 公共模块的jar配置到jboss的modules详细配置

公司项目中遇到并要解决的问题 1:原则上除了自己写的代码之外,公共的jar不应该都在打包的时候打包到ear里面,这样的话包太大,也不符合的分层的逻辑,在jboss容器内部,每个ear的包重复jar都会调入jboss内部,而造成浪费过多地的服务器资源,会出现不定期的异常. 2:jboss eap 6.*系列,需要模块化配置,需要加载的jar,解决如何在jboss里面配置 3:公共的jar在jboss里面已经配置,加载--但是源码运行的时候不能根据maven的配置,加载jar的路径的问题 第一步:配

分布式开放消息系统(RocketMQ)的原理与实践

分布式消息系统作为实现分布式系统可扩展.可伸缩性的关键组件,需要具有高吞吐量.高可用等特点.而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为阿里开源的一款高性能.高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实现原理 一.顺序消息 消息有序指的是可以按照消息的发送顺序来消费.例如:一笔订单产生了 3 条消息,分别是订单创建.订单付款.订单完成.消费时,要按照顺序依次消费才有意

消息系统之Apache ActiveMQ

一.下载运行MQ服务 1.下载ActiveMQ :http://activemq.apache.org/ 2.解压缩: 进入bin目录 win32和win64对应不同位的操作系统,选择进入 点击activemq.bat 运行即可启动ActiveMQ服务. 在浏览器输入ActiveMQ 服务地址:http://127.0.0.1:8161/admin/         默认用户名/密码 admin/admin 二.开发 jar:activemq-all-5.11.1.jar   在ActiveMQ

Kafka是分布式发布-订阅消息系统

https://www.biaodianfu.com/kafka.html Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,之后成为Apache项目的一部分.Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务.它主要用于处理活跃的流式数据. 在大数据系统中,常常会碰到一个问题,整个大数据是由各个子系统组成,数据需要在各个子系统中高性能,低延迟的不停流转.传统的企业消息系统并不是非常适合大规模的数据处理.为了已在同时搞定在线应用(消息)和离线应用(数据文件,日志