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

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>
  • No labels