Apache ActiveMQ Artemis 已经准备好支持 OSGi。 以下您可以找到在 Apache Karaf OSGi 容器上安装和配置代理的说明。

1. 安装

Apache ActiveMQ Artemis 提供了简化在 Apache Karaf(4.x 或更高版本)上安装代理的功能。 首先,您需要定义特征 URL,例如

karaf@root()> feature:repo-add mvn:org.apache.activemq/artemis-features/1.3.0-SNAPSHOT/xml/features

这将添加与 Artemis 相关的特征

karaf@root()> feature:list | grep artemis
artemis                       | 1.3.0.SNAPSHOT   |          | Uninstalled | artemis-1.3.0-SNAPSHOT   | Full ActiveMQ Artemis broker with default configuration
netty-core                    | 4.0.32.Final     |          | Uninstalled | artemis-1.3.0-SNAPSHOT   | Netty libraries
artemis-core                  | 1.3.0.SNAPSHOT   |          | Uninstalled | artemis-1.3.0-SNAPSHOT   | ActiveMQ Artemis broker libraries
artemis-amqp                  | 1.3.0.SNAPSHOT   |          | Uninstalled | artemis-1.3.0-SNAPSHOT   | ActiveMQ Artemis AMQP protocol libraries
artemis-stomp                 | 1.3.0.SNAPSHOT   |          | Uninstalled | artemis-1.3.0-SNAPSHOT   | ActiveMQ Artemis Stomp protocol libraries
artemis-mqtt                  | 1.3.0.SNAPSHOT   |          | Uninstalled | artemis-1.3.0-SNAPSHOT   | ActiveMQ Artemis MQTT protocol libraries
artemis-hornetq               | 1.3.0.SNAPSHOT   |          | Uninstalled | artemis-1.3.0-SNAPSHOT   | ActiveMQ Artemis HornetQ protocol libraries

名为 artemis 的特征包含完整的代理安装,因此运行

feature:install artemis

将安装并运行代理。

2. 配置

代理作为 org.apache.activemq.artemis OSGi 组件安装,因此它通过 ${KARAF_BASE}/etc/org.apache.activemq.artemis.cfg 文件进行配置。 该文件示例如下

config=file:etc/artemis.xml
name=local
domain=karaf
rolePrincipalClass=org.apache.karaf.jaas.boot.principal.RolePrincipal
名称 描述 默认值

config

配置文件的位置

${KARAF_BASE}/etc/artemis.xml

name

代理的名称

local

domain

用于安全性的 JAAS 域

karaf

rolePrincipalClass

用于角色授权目的的类名

org.apache.karaf.jaas.boot.principal.RolePrincipal

默认代理配置文件位于 ${KARAF_BASE}/etc/artemis.xml