ActiveMQ Maven plugin fails to spin up broker in multi module project
---------------------------------------------------------------------
Key: AMQ-2293
URL: https://issues.apache.org/activemq/browse/AMQ-2293
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 5.2.0
Environment: Windows ONLY
Reporter: Niels Bertram
If one attampts to specify an absolute path the the activemq configuration file
in a maven project using the maven parameters:
{code:xml}
<plugin>
<groupId>org.apache.activemq.tooling</groupId>
<artifactId>maven-activemq-plugin</artifactId>
<version>${activemq.version}</version>
<configuration>
<configUri>xbean:file:///${basedir}/src/test/activemq/conf/activemq.xml</configUri>
</configuration>
</plugin>
{code}
the broker will fail because ${basedir} in maven does not expand to a valid URI
string.
Tried as well:
2) Using the xbeam:conf/activemq.xml does not work either as the mojo does not
contain the directory on the classpath.
3) Using the base dir and setting the configURI to
xbean:file:///./src/test/qctivemq/conf/activemq.xml does work when executing
the test phase within a single maven project but as soon as the activemq plugin
is run from a module that is part of a project (see attachment example) then
the . refers to the path of the parent project and the broker fails to find the
file again.
As far as I can see there is not really a sufficient workaround using the
activemq.base activemq.home system properties and hence I propose to add
another configuration alternative to the maven-activemq-plugin called
configFile. This can then be set with the according absolute reference and the
URI is properly constructred using the underlying JVM java.io.File.toURI().
Patch attached.
The logic implemented by the patch is, if a configFile is set on the activemq
plugin then it will construct a xbean:file:[uri] else it will use configUri
(as usual).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.