diff --git a/libs/entitlement/agent/src/main/java/org/elasticsearch/entitlement/agent/EntitlementAgent.java b/libs/entitlement/agent/src/main/java/org/elasticsearch/entitlement/agent/EntitlementAgent.java index d062ba1ed2465..d9fc80e9119b9 100644 --- a/libs/entitlement/agent/src/main/java/org/elasticsearch/entitlement/agent/EntitlementAgent.java +++ b/libs/entitlement/agent/src/main/java/org/elasticsearch/entitlement/agent/EntitlementAgent.java @@ -25,10 +25,16 @@ */ public class EntitlementAgent { + /** + * The agent main method + * @param agentArgs arguments passed to the agent.For our agent, this is the class to load and use for Entitlement Initialization. + * See e.g. {@code EntitlementsBootstrap#loadAgent} + * @param inst The {@link Instrumentation} instance to use for injecting Entitlements checks + */ public static void agentmain(String agentArgs, Instrumentation inst) { final Class initClazz; try { - initClazz = Class.forName("org.elasticsearch.entitlement.initialization.EntitlementInitialization"); + initClazz = Class.forName(agentArgs); } catch (ClassNotFoundException e) { throw new AssertionError("entitlement agent does could not find EntitlementInitialization", e); } diff --git a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java index 9f1156dfe6efe..4219b41dc804b 100644 --- a/libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java +++ b/libs/entitlement/src/main/java/org/elasticsearch/entitlement/bootstrap/EntitlementBootstrap.java @@ -138,7 +138,7 @@ private static void loadAgent(String agentPath) { try { VirtualMachine vm = VirtualMachine.attach(Long.toString(ProcessHandle.current().pid())); try { - vm.loadAgent(agentPath); + vm.loadAgent(agentPath, EntitlementInitialization.class.getName()); } finally { vm.detach(); } @@ -154,7 +154,7 @@ private static void exportInitializationToAgent() { EntitlementInitialization.class.getModule().addExports(initPkg, unnamedModule); } - private static String findAgentJar() { + public static String findAgentJar() { String propertyName = "es.entitlement.agentJar"; String propertyValue = System.getProperty(propertyName); if (propertyValue != null) {