Fix namespace clashes

Using `datadog.trace.agent` to hold agent class causes problems due to
shadowing into this package of other classes.
This commit is contained in:
Nikolay Martynov 2019-11-06 13:37:11 -05:00
parent 17155f7d57
commit 42cece67c2
7 changed files with 5 additions and 7 deletions

View File

@ -1,4 +1,4 @@
package datadog.trace.agent; package datadog.trace.bootstrap;
import java.lang.instrument.Instrumentation; import java.lang.instrument.Instrumentation;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;

View File

@ -15,7 +15,6 @@ public final class Constants {
*/ */
public static final String[] BOOTSTRAP_PACKAGE_PREFIXES = { public static final String[] BOOTSTRAP_PACKAGE_PREFIXES = {
"datadog.slf4j", "datadog.slf4j",
"datadog.trace.agent",
"datadog.trace.api", "datadog.trace.api",
"datadog.trace.bootstrap", "datadog.trace.bootstrap",
"datadog.trace.context", "datadog.trace.context",

View File

@ -10,7 +10,7 @@ class OSGIClassloadingTest extends AgentTestRunner {
@Rule @Rule
public final RestoreSystemProperties restoreSystemProperties = new RestoreSystemProperties() public final RestoreSystemProperties restoreSystemProperties = new RestoreSystemProperties()
static final String BOOT_DELEGATION_ADDITION = "datadog.slf4j.*,datadog.slf4j,datadog.trace.agent.*,datadog.trace.api.*,datadog.trace.api,datadog.trace.bootstrap.*,datadog.trace.bootstrap,datadog.trace.context.*,datadog.trace.context,datadog.trace.instrumentation.api.*,datadog.trace.instrumentation.api,io.opentracing.*,io.opentracing" static final String BOOT_DELEGATION_ADDITION = "datadog.slf4j.*,datadog.slf4j,datadog.trace.api.*,datadog.trace.api,datadog.trace.bootstrap.*,datadog.trace.bootstrap,datadog.trace.context.*,datadog.trace.context,datadog.trace.instrumentation.api.*,datadog.trace.instrumentation.api,io.opentracing.*,io.opentracing"
def "delegation property set on module load"() { def "delegation property set on module load"() {
when: when:

View File

@ -51,7 +51,7 @@ public class AgentBootstrap {
final URL bootstrapURL = installBootstrapJar(inst); final URL bootstrapURL = installBootstrapJar(inst);
final Class<?> agentClass = final Class<?> agentClass =
ClassLoader.getSystemClassLoader().loadClass("datadog.trace.agent.Agent"); ClassLoader.getSystemClassLoader().loadClass("datadog.trace.bootstrap.Agent");
final Method startMethod = agentClass.getMethod("start", Instrumentation.class, URL.class); final Method startMethod = agentClass.getMethod("start", Instrumentation.class, URL.class);
startMethod.invoke(null, inst, bootstrapURL); startMethod.invoke(null, inst, bootstrapURL);
} }

View File

@ -40,7 +40,7 @@ public class IntegrationTestUtils {
Field classloaderField = null; Field classloaderField = null;
try { try {
final Class<?> agentClass = final Class<?> agentClass =
ClassLoader.getSystemClassLoader().loadClass("datadog.trace.agent.Agent"); ClassLoader.getSystemClassLoader().loadClass("datadog.trace.bootstrap.Agent");
classloaderField = agentClass.getDeclaredField(fieldName); classloaderField = agentClass.getDeclaredField(fieldName);
classloaderField.setAccessible(true); classloaderField.setAccessible(true);
return (ClassLoader) classloaderField.get(null); return (ClassLoader) classloaderField.get(null);

View File

@ -7,7 +7,7 @@ public class AgentLoadedChecker {
public static void main(final String[] args) throws ClassNotFoundException { public static void main(final String[] args) throws ClassNotFoundException {
// Empty classloader that delegates to bootstrap // Empty classloader that delegates to bootstrap
final URLClassLoader emptyClassLoader = new URLClassLoader(new URL[] {}, null); final URLClassLoader emptyClassLoader = new URLClassLoader(new URL[] {}, null);
final Class agentClass = emptyClassLoader.loadClass("datadog.trace.agent.Agent"); final Class agentClass = emptyClassLoader.loadClass("datadog.trace.bootstrap.Agent");
if (agentClass.getClassLoader() != null) { if (agentClass.getClassLoader() != null) {
throw new RuntimeException( throw new RuntimeException(

View File

@ -32,7 +32,6 @@ public class SpockRunner extends Sputnik {
*/ */
public static final String[] BOOTSTRAP_PACKAGE_PREFIXES_COPY = { public static final String[] BOOTSTRAP_PACKAGE_PREFIXES_COPY = {
"datadog.slf4j", "datadog.slf4j",
"datadog.trace.agent",
"datadog.trace.api", "datadog.trace.api",
"datadog.trace.bootstrap", "datadog.trace.bootstrap",
"datadog.trace.context", "datadog.trace.context",