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:
parent
17155f7d57
commit
42cece67c2
|
@ -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;
|
|
@ -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",
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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(
|
||||||
|
|
|
@ -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",
|
||||||
|
|
Loading…
Reference in New Issue