Adding a JavaAgent

Adding a java agent is done via a vm parameter as follows:

} java -javaagent:openejb-javaagent-3.0-beta-2.jar _[other params...](other-params....html) _
}
:title=Need the JavaAgent?} The java agent is only required if using OpenJPA as your persistence provider or if using CMP.
}

Maven2

In maven2 you can enable the javaagent for your tests by adding this to your pom.xml file:

<build>
  <plugins>
    <!-- this configures the surefire plugin to run your tests with the javaagent enabled -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <forkMode>pertest</forkMode>
        <argLine>-javaagent:${basedir}/target/openejb-javaagent-3.0-beta-2.jar</argLine>
        <workingDirectory>${basedir}/target</workingDirectory>
      </configuration>
    </plugin>

    <!-- this tells maven to copy the openejb-javaagent jar into your target/ directory -->
    <!-- where surefire can see it -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <executions>
        <execution>
          <id>copy</id>
          <phase>process-resources</phase>
          <goals>
            <goal>copy</goal>
          </goals>
          <configuration>
            <artifactItems>
              <artifactItem>
                <groupId>org.apache.openejb</groupId>
                <artifactId>openejb-javaagent</artifactId>
                <version>3.0-beta-2</version>
                <outputDirectory>${project.build.directory}</outputDirectory>
              </artifactItem>
            </artifactItems>
          </configuration>
        </execution>
      </executions>
    </plugin>

  </plugins>
</build>

Copyright © 2011 The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache and the Apache feather logo are trademarks of The Apache Software Foundation.