Hi,
I get NoSuchMethodError when testing with ApplicationComposer and
manually supplied javaagent. When I start container (TomEE) everything
works just fine.
I enable javaagent for maven test plugin like this:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.14.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
<configuration>
<groups>de.orbitx.retena.IntegrationTest</groups>
<includes>
<include>**/*.class</include>
</includes>
<argLine>-javaagent:${project.build.directory}/openejb-javaagent-${openejb.version}.jar</argLine>
<workingDirectory>${project.build.directory}</workingDirectory>
</configuration>
</plugin>
javaagent is added like this (I use maven-dependency-plugin to copy it
to right place):
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-javaagent</artifactId>
<version>4.6.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
The full log I was able to get our of openejb is here :
https://gist.github.com/anonymous/5688204
My AbstractBaseClass looks like this:
@MappedSuperclass
public abstract class AbstractBaseEntity implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
// getter setter and so on....
}
and the Permission class from stack trace like this:
@Entity
public class Permission extends AbstractBaseEntity {
private String permission;
// more irrelevant code is here
}
I bootstrap from persistence.xml that has entity definition for
Permission and NO entity definition for AbstractBaseEntity (as suggested
somewhere on forums) like this:
<entity class="my.access.Permission" />
I have refactored everything couple of times (removed generics, tried to
change AbstractBaseEntity to a concrete class, moved @Id from here to
there and now appears that the only option that I have still think of is
to remove BaseEntity.
Before I do that, I would be happy if someone could help me to avoid
that, because this is not solution but, rather, workaround that makes my
code worse.
thank you guys for your help!
reinis