ActiveMQ
  1. ActiveMQ
  2. AMQ-2293

ActiveMQ Maven plugin fails to spin up broker in multi module project

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 5.2.0
    • Fix Version/s: 5.8.0
    • Component/s: None
    • Labels:
      None
    • Environment:

      Windows ONLY

    • Patch Info:
      Patch Available

      Description

      If one attampts to specify an absolute path the the activemq configuration file in a maven project using the maven parameters:

      <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>
      

      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).

      1. test-project.zip
        37 kB
        Niels Bertram
      2. pom.xml
        5 kB
        Christian Posta
      3. example.zip
        3 kB
        Damian Hudson
      4. AMQ-2293.patch
        2 kB
        Niels Bertram

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Claus Ibsen
              Reporter:
              Niels Bertram
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development