tbitonti / jakartaee-prototype

Other
0 stars 9 forks source link

How to handle pruned technologies? #79

Open scottmarlow opened 4 years ago

scottmarlow commented 4 years ago

What is the requirement around handling application bytecode that contains a pruned technology (e.g. javax.xml.rpc or javax.management.j2ee)?

If transformers ignores pruned classes being referenced, the application will likely not work on an EE 9 implementation (likely failing to deploy with a ClassNotFoundException.)

If transformers detect pruned classes being referenced and produce error or failures, then at least users will know that they need to remove the pruned classes from their application first.

In terms of application bytecode modification strategies, if anyone has one, please add a comment to this issue. For example, replacing javax.xml.rpc references to a different class that is added to the application that throws a RuntimeException, if the code that depends on javax.xml.rpc is reached. I'm not sure if this is possible or would help enough, but am just mentioning as a possible (not really thought out) idea.

tbitonti commented 4 years ago

Most simply, we could add a 'disallowPackage' option, which could be looked for and produce transformation exceptions.