From 5537511345be5d0f457fd1c437dde5d87f3a99e5 Mon Sep 17 00:00:00 2001 From: "minwoo.jung" Date: Tue, 23 Apr 2024 21:24:59 +0900 Subject: [PATCH] [#10940] Move the class location to avoid loading the class in web to fix the NoClassDefFoundError error on web startup. --- .../bootstrap/plugin/jdbc/MongoDatabaseInfo.java | 2 ++ .../pinpoint/plugin/mongo/MongoConstants.java | 9 +-------- .../MongoCollectionImplReadOperationInterceptor.java | 2 +- .../MongoCollectionImplWriteOperationInterceptor.java | 2 +- .../mongo/interceptor/DatabaseInfoUtilsTest.java | 10 +++++----- 5 files changed, 10 insertions(+), 15 deletions(-) diff --git a/agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/plugin/jdbc/MongoDatabaseInfo.java b/agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/plugin/jdbc/MongoDatabaseInfo.java index 0fdeab2c9080..7814f76f4ca1 100644 --- a/agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/plugin/jdbc/MongoDatabaseInfo.java +++ b/agent-module/bootstraps/bootstrap-core/src/main/java/com/navercorp/pinpoint/bootstrap/plugin/jdbc/MongoDatabaseInfo.java @@ -19,6 +19,7 @@ import com.navercorp.pinpoint.bootstrap.context.DatabaseInfo; import com.navercorp.pinpoint.common.trace.ServiceType; +import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -27,6 +28,7 @@ */ public class MongoDatabaseInfo implements DatabaseInfo { + public static final MongoDatabaseInfo UNKNOWN_MONGO_DATABASE_INFO = new MongoDatabaseInfo(ServiceType.UNKNOWN_DB, ServiceType.UNKNOWN_DB_EXECUTE_QUERY, "unknown", "unknown", Arrays.asList("unknown"), "unknown", "unknown", false, "unknown", "unknown"); private final ServiceType type; private final ServiceType executeQueryType; private final String databaseId; diff --git a/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/MongoConstants.java b/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/MongoConstants.java index 9f29c63c8df0..782dc9f32864 100644 --- a/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/MongoConstants.java +++ b/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/MongoConstants.java @@ -14,18 +14,13 @@ */ package com.navercorp.pinpoint.plugin.mongo; -import com.navercorp.pinpoint.bootstrap.plugin.jdbc.MongoDatabaseInfo; import com.navercorp.pinpoint.common.trace.AnnotationKey; import com.navercorp.pinpoint.common.trace.AnnotationKeyFactory; import com.navercorp.pinpoint.common.trace.ServiceType; import com.navercorp.pinpoint.common.trace.ServiceTypeFactory; -import java.util.Arrays; - import static com.navercorp.pinpoint.common.trace.AnnotationKeyProperty.VIEW_IN_RECORD_SET; -import static com.navercorp.pinpoint.common.trace.ServiceTypeProperty.INCLUDE_DESTINATION_ID; -import static com.navercorp.pinpoint.common.trace.ServiceTypeProperty.RECORD_STATISTICS; -import static com.navercorp.pinpoint.common.trace.ServiceTypeProperty.TERMINAL; +import static com.navercorp.pinpoint.common.trace.ServiceTypeProperty.*; /** * @author Roy Kim @@ -85,6 +80,4 @@ private MongoConstants() { public static final ServiceType MONGODB = ServiceTypeFactory.of(2650, "MONGO", TERMINAL, INCLUDE_DESTINATION_ID); public static final ServiceType MONGO_EXECUTE_QUERY = ServiceTypeFactory.of(2651, "MONGO_EXECUTE_QUERY", "MONGO", TERMINAL, RECORD_STATISTICS, INCLUDE_DESTINATION_ID); public static final ServiceType MONGO_REACTIVE = ServiceTypeFactory.of(2652, "MONGO_REACTIVE", "MONGO"); - - public static final MongoDatabaseInfo UNKNOWN_MONGO_DATABASE_INFO = new MongoDatabaseInfo(ServiceType.UNKNOWN_DB, ServiceType.UNKNOWN_DB_EXECUTE_QUERY, "unknown", "unknown", Arrays.asList("unknown"), "unknown", "unknown", false, "unknown", "unknown"); } diff --git a/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/interceptor/MongoCollectionImplReadOperationInterceptor.java b/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/interceptor/MongoCollectionImplReadOperationInterceptor.java index 6666f566ab56..5b70fe2a00bf 100644 --- a/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/interceptor/MongoCollectionImplReadOperationInterceptor.java +++ b/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/interceptor/MongoCollectionImplReadOperationInterceptor.java @@ -45,7 +45,7 @@ public MongoCollectionImplReadOperationInterceptor(TraceContext traceContext, Me @Override public void doInBeforeTrace(SpanEventRecorder recorder, Object target, Object[] args) { recorder.recordApi(methodDescriptor); - MongoDatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(target, MongoConstants.UNKNOWN_MONGO_DATABASE_INFO); + MongoDatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(target, MongoDatabaseInfo.UNKNOWN_MONGO_DATABASE_INFO); if (target instanceof HostListAccessor) { final List hostList = ((HostListAccessor) target)._$PINPOINT$_getHostList(); if (hostList != null) { diff --git a/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/interceptor/MongoCollectionImplWriteOperationInterceptor.java b/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/interceptor/MongoCollectionImplWriteOperationInterceptor.java index 923af487cdba..302f83e2ce7e 100644 --- a/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/interceptor/MongoCollectionImplWriteOperationInterceptor.java +++ b/agent-module/plugins/mongodb/src/main/java/com/navercorp/pinpoint/plugin/mongo/interceptor/MongoCollectionImplWriteOperationInterceptor.java @@ -44,7 +44,7 @@ public MongoCollectionImplWriteOperationInterceptor(TraceContext traceContext, M @Override public void doInBeforeTrace(SpanEventRecorder recorder, Object target, Object[] args) { recorder.recordApi(methodDescriptor); - MongoDatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(target, MongoConstants.UNKNOWN_MONGO_DATABASE_INFO); + MongoDatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(target, MongoDatabaseInfo.UNKNOWN_MONGO_DATABASE_INFO); if (target instanceof HostListAccessor) { final List hostList = ((HostListAccessor) target)._$PINPOINT$_getHostList(); if (hostList != null) { diff --git a/agent-module/plugins/mongodb/src/test/java/com/navercorp/pinpoint/plugin/mongo/interceptor/DatabaseInfoUtilsTest.java b/agent-module/plugins/mongodb/src/test/java/com/navercorp/pinpoint/plugin/mongo/interceptor/DatabaseInfoUtilsTest.java index e63fc6aedcf0..3570e79eae37 100644 --- a/agent-module/plugins/mongodb/src/test/java/com/navercorp/pinpoint/plugin/mongo/interceptor/DatabaseInfoUtilsTest.java +++ b/agent-module/plugins/mongodb/src/test/java/com/navercorp/pinpoint/plugin/mongo/interceptor/DatabaseInfoUtilsTest.java @@ -37,7 +37,7 @@ public void getDatabaseInfo() { DatabaseInfo defaultDatabaseInfo = mock(MongoDatabaseInfo.class); when(databaseInfoAccessor._$PINPOINT$_getDatabaseInfo()).thenReturn(defaultDatabaseInfo); - DatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(databaseInfoAccessor, MongoConstants.UNKNOWN_MONGO_DATABASE_INFO); + DatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(databaseInfoAccessor, MongoDatabaseInfo.UNKNOWN_MONGO_DATABASE_INFO); Assertions.assertEquals(databaseInfo, defaultDatabaseInfo); } @@ -47,15 +47,15 @@ public void getDatabaseInfo_return_null() { DatabaseInfoAccessor databaseInfoAccessor = mock(DatabaseInfoAccessor.class); when(databaseInfoAccessor._$PINPOINT$_getDatabaseInfo()).thenReturn(null); - DatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(databaseInfoAccessor, MongoConstants.UNKNOWN_MONGO_DATABASE_INFO); - Assertions.assertEquals(databaseInfo, MongoConstants.UNKNOWN_MONGO_DATABASE_INFO); + DatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(databaseInfoAccessor, MongoDatabaseInfo.UNKNOWN_MONGO_DATABASE_INFO); + Assertions.assertEquals(databaseInfo, MongoDatabaseInfo.UNKNOWN_MONGO_DATABASE_INFO); } @Test public void getDatabaseInfo_unknown() { - DatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(new Object(), MongoConstants.UNKNOWN_MONGO_DATABASE_INFO); + DatabaseInfo databaseInfo = DatabaseInfoUtils.getDatabaseInfo(new Object(), MongoDatabaseInfo.UNKNOWN_MONGO_DATABASE_INFO); - Assertions.assertEquals(databaseInfo, MongoConstants.UNKNOWN_MONGO_DATABASE_INFO); + Assertions.assertEquals(databaseInfo, MongoDatabaseInfo.UNKNOWN_MONGO_DATABASE_INFO); } } \ No newline at end of file