JBoss EAP 7消息系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
”来查找。
- 远程客户端必须通过“java:jboss/exported”之后的文本字段查找,如testQueue的entries为“
- 操作方式有CLI或者web admin console。
Apache ActiveMQ Artemis总览
消息API和协议
一些标准的消息系统操作方式,也是Apache ActiveMQ Artemis已经支持的协议:
Apache ActiveMQ Artemis协议
- AMQP
- OpenWire
- MQTT
- STOMP
- HornetQ (for use with HornetQ clients).
- CORE (Artemis CORE protocol)
Artemis架构
内核架构
Stand-alone server架构
应用内嵌支持(Application embeded support)
与JavaEE应用服务器的集成架构
以上是关于JBoss EAP 7消息系统的主要内容,如果未能解决你的问题,请参考以下文章
javax.jms.JMSException:在向JBoss EAP 7.2中的嵌入式ActiveMQ Artemis发送消息时,未能创建会话工厂。
我无法在 JBOSS EAP 7.1 中从 EAR 或 WAR 设置系统属性
JBoss EAP 7 exclude webservices 子系统给出 NoClassDefFoundError: Failed to link EndpointDefinitionParser$