Hi, This is a follow up of https://issues.apache.org/jira/browse/TOMEE-2619 When running on Java9+, the JVM does not allow anymore to attach an instrumentation to the current JVM (self), unless you add the flag -Djdk.attach.allowAttachSelf which is off by default.
So currently our javaagent required for OpenJPA for instance fail > Caused by: java.io.IOException: Can not attach to current VM > at > jdk.attach/sun.tools.attach.HotSpotVirtualMachine.<init>(HotSpotVirtualMachine.java:75) > at > jdk.attach/sun.tools.attach.VirtualMachineImpl.<init>(VirtualMachineImpl.java:56) > at > jdk.attach/sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:58) > at > jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207) > ... 43 more > INFO - JAVA AGENT NOT INSTALLED. The JPA Persistence Provider requested > installation of a ClassFileTransformer which requires a JavaAgent. See > http://tomee.apache.org/javaagent.html > > I looked at different options. Of course short term, I'll go with adding the flag so we can focus on Java 11 support. Long term, I'm wondering if we should have some trick like bytebuddy which does a very good job. See discussion https://github.com/raphw/byte-buddy/issues/295 and the agent attach code https://github.com/raphw/byte-buddy/blob/master/byte-buddy-agent/src/main/java/net/bytebuddy/agent/ByteBuddyAgent.java#L659 What do you guys think? Anyone willing to contribute that to TomEE? ByteBuddy is ASL v2, so we can of course reuse some of its code. -- Jean-Louis Monteiro http://twitter.com/jlouismonteiro http://www.tomitribe.com
