-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue 23616 Fixed generators on jdk11 + tests #23621
Issue 23616 Fixed generators on jdk11 + tests #23621
Conversation
- JMH test to reproduce race condition (already fixed) - tests for generator issues
- imports, enhanced loops, finals, curly braces, generics
…ssible any more - I removed the test too, because now it is already covered by the benchmark
- now uses GenericHomeGenerator as an anchor instead of EJBUtils
- stop using deprecated methods - synchronization moved to method level and loading to one single caller which didn't do that yet -> reduced duplicit actions
- cleanup around leaky api of generateAndLoad which relied on consistency of it's parameters - the anchor class was moved to the generator to keep JDK rules - removeRedundantMethods was and is slow -> TODO: optimize + test - ServiceInterfaceGenerator changed output class name and package, because original addition of jaxws.internal is forbidden in JDK11+ - tests were enhanced to be able to compare loading of cached classes.
…nerated classes - we have to use deprecated methods yet for a while ...
851d63e
to
e9a30b8
Compare
Current status: 4 tests of the TCK fail with StackOverflow when JDK does some class loading. |
I was wrong, the StackOverflow was caused by this property used in ts.override.properties: |
Ok, we are back, after I fixed my TCK test configuration, all failing tests passed, ufff: |
Note: see targeted version: 6.2.3, which means don't merge until 6.2.2 is released. |
Originally PFL used Unsafe class to generate classes. Since JDK11 it uses MethodInvocations, which verifies that the generated class has the same package as the anchor class. Generators were breaking the rule and under some circumstances it caused exceptions.
This PR also includes several tests and new test dependency: OpenJDK JMH. It's license is here.