Maven2 ActiveMQ Classic Broker 插件
工具 > Maven2 ActiveMQ Classic Broker 插件
ActiveMQ Classic 提供了一个 Maven2 插件,可以轻松启动 JMS 代理。这在您要在 Maven2 项目中快速启动消息代理以进行调试或集成测试时非常有用。
如何使用
小心
ActiveMQ Classic 中的 Maven 插件在 5.8.0+ 版本中已重命名,以更好地遵循 Maven 插件命名约定。ActiveMQ Classic Broker 插件已从“maven-activemq-plugin”更改为“activemq-maven-plugin”。
用您选择的版本字符串替换 5.7.0 版本字符串,例如:5.6.0、5.8-SNAPSHOT
在您的 Maven2 项目中,或使用以下类似的最小 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.acme</groupId>
<artifactId>run-amq</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
只需键入
mvn org.apache.activemq.tooling:maven-activemq-plugin:5.1:run
这将下载 5.7.0 版本的插件,并使用形式为 broker:(tcp://127.0.0.1:61616)?useJmx=false&persistent=false
的简单配置 URL 启动代理。必要的 ActiveMQ Classic jar 文件将由 Maven 自动下载。
要配置 log4j,请在 mvn 命令行上提供 -Dlog4j.configuration=[file:///](file:///)<log4j.properties 文件的完整路径>
系统属性。
如果您需要使用 Spring 支持、Jetty Web 控制台或嵌入式 Camel 的更高级配置,您可以在您的 pom.xml 中添加该插件,并提供所需的可选依赖项。对于默认的 conf/activemq.xml
,需要以下依赖项
<build>
<plugins>
<plugin>
<groupId>org.apache.activemq.tooling</groupId>
<artifactId>maven-activemq-plugin</artifactId>
<version>5.7.0</version>
<configuration>
<configUri>xbean:file:../conf/activemq.xml</configUri>
<fork>false</fork>
<systemProperties>
<property>
<name>javax.net.ssl.keyStorePassword</name>
<value>password</value>
</property>
<property>
<name>org.apache.activemq.default.directory.prefix</name>
<value>./target/</value>
</property>
</systemProperties>
</configuration>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.5</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-xbean</artifactId>
<version>6.1.11</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-activemq</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
``
and run it using:
mvn activemq:run ```
配置选项
名称 | 默认值 | 描述 |
---|---|---|
configUri | broker:(tcp://127.0.0.1:61616)?useJmx=false&persistent=false | 将用于启动代理的代理配置 URI。有关更多信息,请参阅 此处 |
fork | false | 如果为 true,则在单独的线程中启动代理,使 Maven 能够继续处理(对于集成测试很有用)。 |
systemProperties | 无 | 将设置的其他系统属性。 |
注意:默认情况下,代理插件将 activemq.base、activemq.home、org.apache.activemq.default.directory.prefix、derby.system.home 设置为 ./target/。这意味着所有数据文件夹都将在那里创建,因此可以很容易地通过运行 mvn clean 来删除。