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
中