Skip to content
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

[RFC] Port to machine agents shipping Java 11 #10

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

emuntean-cisco
Copy link

@emuntean-cisco emuntean-cisco commented Oct 28, 2024

Tentative fix for issues running the extension on agents based on Java 11. This requires testing in an actual DataPower environment, only minimal testing was done to see if it attempts to connect to a DataPower endpoint using plain socat as a server. Update the PR and merge appropriately once that's done. Also check out the commit description for details.

Black Duck scan for completeness: https://blackduck.corp.appdynamics.com/api/projects/783bbd22-3fe9-4815-839b-fdfd7c2ad32c/versions/96f6b796-b0a3-49e0-92b1-a55deb841fc1/components (EDIT: fixed link)

Java 11 does not supply a SOAP implementation, unlike Java 8. A choice
was made to go with the latest libraries from the Eclipse Metro project
to avoid security vulnerabilities associated with old and deprecated
versions. This breaks compatibility with Java 8 and Java 11+ is now
required, which explains bumping the major version of the extension.

This change also deals with issues resulting from the way the machine
agent loads extensions, along with interactions between thread pools and
class loaders in Java 9 and above. It ensures SOAP handling
initialization does not happen in the constructor of the extension's
main class, otherwise the class loader will fail to locate certain
classes when launched via the machine agent (although tests pass).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant