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

Reply via email to