diff --git a/oap-server/pom.xml b/oap-server/pom.xml index 20e4648dd..86f5d816c 100644 --- a/oap-server/pom.xml +++ b/oap-server/pom.xml @@ -36,6 +36,7 @@ server-starter server-query-plugin server-alarm-plugin + server-testing diff --git a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProvider.java b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProvider.java index 659e2abc3..f1d0d0745 100644 --- a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProvider.java +++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProvider.java @@ -23,10 +23,8 @@ import org.apache.skywalking.oap.server.cluster.plugin.kubernetes.dependencies.U import org.apache.skywalking.oap.server.core.cluster.ClusterModule; import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery; import org.apache.skywalking.oap.server.core.cluster.ClusterRegister; -import org.apache.skywalking.oap.server.library.module.ModuleConfig; +import org.apache.skywalking.oap.server.library.module.*; import org.apache.skywalking.oap.server.library.module.ModuleDefine; -import org.apache.skywalking.oap.server.library.module.ModuleProvider; -import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException; /** * Use kubernetes to manage all instances in Skywalking cluster. diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModule.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModule.java index d720cb6e0..dade6d0a7 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModule.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModule.java @@ -29,7 +29,7 @@ import org.apache.skywalking.oap.server.core.remote.client.RemoteClientManager; import org.apache.skywalking.oap.server.core.server.*; import org.apache.skywalking.oap.server.core.source.SourceReceiver; import org.apache.skywalking.oap.server.core.storage.model.IModelGetter; -import org.apache.skywalking.oap.server.library.module.ModuleDefine; +import org.apache.skywalking.oap.server.library.module.*; /** * @author peng-yongsheng @@ -38,8 +38,8 @@ public class CoreModule extends ModuleDefine { public static final String NAME = "core"; - @Override public String name() { - return NAME; + public CoreModule() { + super(NAME); } @Override public Class[] services() { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java index b116fec9e..b1181dae7 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java @@ -64,11 +64,8 @@ import org.apache.skywalking.oap.server.core.storage.PersistenceTimer; import org.apache.skywalking.oap.server.core.storage.annotation.StorageAnnotationListener; import org.apache.skywalking.oap.server.core.storage.model.IModelGetter; import org.apache.skywalking.oap.server.core.storage.ttl.DataTTLKeeperTimer; -import org.apache.skywalking.oap.server.library.module.ModuleConfig; +import org.apache.skywalking.oap.server.library.module.*; import org.apache.skywalking.oap.server.library.module.ModuleDefine; -import org.apache.skywalking.oap.server.library.module.ModuleProvider; -import org.apache.skywalking.oap.server.library.module.ModuleStartException; -import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException; import org.apache.skywalking.oap.server.library.server.ServerException; import org.apache.skywalking.oap.server.library.server.grpc.GRPCServer; import org.apache.skywalking.oap.server.library.server.jetty.JettyServer; @@ -190,7 +187,7 @@ public class CoreModuleProvider extends ModuleProvider { } RemoteInstance gRPCServerInstance = new RemoteInstance(moduleConfig.getGRPCHost(), moduleConfig.getGRPCPort(), true); - this.getManager().find(ClusterModule.NAME).getService(ClusterRegister.class).registerRemote(gRPCServerInstance); + this.getManager().find(ClusterModule.NAME).provider().getService(ClusterRegister.class).registerRemote(gRPCServerInstance); PersistenceTimer.INSTANCE.start(getManager()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmEntrance.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmEntrance.java index b8da0410f..3992841d7 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmEntrance.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmEntrance.java @@ -71,8 +71,8 @@ public class AlarmEntrance { initLock.lock(); try { if (serviceInventoryCache == null) { - serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); - indicatorNotify = moduleManager.find(AlarmModule.NAME).getService(IndicatorNotify.class); + serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); + indicatorNotify = moduleManager.find(AlarmModule.NAME).provider().getService(IndicatorNotify.class); indicatorNotify.init(new AlarmStandardPersistence()); } } finally { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmModule.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmModule.java index e7cb96daf..835772723 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmModule.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/alarm/AlarmModule.java @@ -18,7 +18,7 @@ package org.apache.skywalking.oap.server.core.alarm; -import org.apache.skywalking.oap.server.library.module.ModuleDefine; +import org.apache.skywalking.oap.server.library.module.*; /** * Alarm module define the main bridge entrance of the alarm implementor. @@ -30,8 +30,8 @@ import org.apache.skywalking.oap.server.library.module.ModuleDefine; public class AlarmModule extends ModuleDefine { public static final String NAME = "alarm"; - @Override public String name() { - return NAME; + public AlarmModule() { + super(NAME); } @Override public Class[] services() { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorProcess.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorProcess.java index e7d67f9bf..8b5a0b90b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorProcess.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorProcess.java @@ -44,7 +44,7 @@ public enum IndicatorProcess { String modelName = StorageEntityAnnotationUtils.getModelName(indicatorClass); Class builderClass = StorageEntityAnnotationUtils.getBuilder(indicatorClass); - StorageDAO storageDAO = moduleManager.find(StorageModule.NAME).getService(StorageDAO.class); + StorageDAO storageDAO = moduleManager.find(StorageModule.NAME).provider().getService(StorageDAO.class); IIndicatorDAO indicatorDAO; try { indicatorDAO = storageDAO.newIndicatorDao(builderClass.newInstance()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorRemoteWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorRemoteWorker.java index 2a100c0dc..320c2de17 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorRemoteWorker.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/IndicatorRemoteWorker.java @@ -41,7 +41,7 @@ public class IndicatorRemoteWorker extends AbstractWorker { IndicatorRemoteWorker(int workerId, ModuleManager moduleManager, AbstractWorker nextWorker, String modelName) { super(workerId); - this.remoteSender = moduleManager.find(CoreModule.NAME).getService(RemoteSenderService.class); + this.remoteSender = moduleManager.find(CoreModule.NAME).provider().getService(RemoteSenderService.class); this.nextWorker = nextWorker; this.modelName = modelName; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/PersistenceWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/PersistenceWorker.java index b9e67f05c..a35f2a8d4 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/PersistenceWorker.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/analysis/worker/PersistenceWorker.java @@ -38,7 +38,7 @@ public abstract class PersistenceWorker builderClass = StorageEntityAnnotationUtils.getBuilder(recordClass); - StorageDAO storageDAO = moduleManager.find(StorageModule.NAME).getService(StorageDAO.class); + StorageDAO storageDAO = moduleManager.find(StorageModule.NAME).provider().getService(StorageDAO.class); IRecordDAO recordDAO; try { recordDAO = storageDAO.newRecordDao(builderClass.newInstance()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/CacheUpdateTimer.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/CacheUpdateTimer.java index 3f06ecc1e..5aa9dbd53 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/CacheUpdateTimer.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/CacheUpdateTimer.java @@ -53,8 +53,8 @@ public enum CacheUpdateTimer { } private void update(ModuleManager moduleManager) { - IServiceInventoryCacheDAO serviceInventoryCacheDAO = moduleManager.find(StorageModule.NAME).getService(IServiceInventoryCacheDAO.class); - ServiceInventoryCache serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); + IServiceInventoryCacheDAO serviceInventoryCacheDAO = moduleManager.find(StorageModule.NAME).provider().getService(IServiceInventoryCacheDAO.class); + ServiceInventoryCache serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); List serviceInventories = serviceInventoryCacheDAO.loadLastMappingUpdate(); serviceInventories.forEach(serviceInventory -> { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCache.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCache.java index 7fee3bbf5..a7e71275d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCache.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/EndpointInventoryCache.java @@ -55,7 +55,7 @@ public class EndpointInventoryCache implements Service { private IEndpointInventoryCacheDAO getCacheDAO() { if (isNull(cacheDAO)) { - cacheDAO = moduleManager.find(StorageModule.NAME).getService(IEndpointInventoryCacheDAO.class); + cacheDAO = moduleManager.find(StorageModule.NAME).provider().getService(IEndpointInventoryCacheDAO.class); } return cacheDAO; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/NetworkAddressInventoryCache.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/NetworkAddressInventoryCache.java index bbcd66eb7..d9cd2fe1d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/NetworkAddressInventoryCache.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/NetworkAddressInventoryCache.java @@ -49,7 +49,7 @@ public class NetworkAddressInventoryCache implements Service { private INetworkAddressInventoryCacheDAO getCacheDAO() { if (isNull(cacheDAO)) { - this.cacheDAO = moduleManager.find(StorageModule.NAME).getService(INetworkAddressInventoryCacheDAO.class); + this.cacheDAO = moduleManager.find(StorageModule.NAME).provider().getService(INetworkAddressInventoryCacheDAO.class); } return this.cacheDAO; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/ServiceInstanceInventoryCache.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/ServiceInstanceInventoryCache.java index deac60b7e..c328e61d9 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/ServiceInstanceInventoryCache.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/ServiceInstanceInventoryCache.java @@ -59,7 +59,7 @@ public class ServiceInstanceInventoryCache implements Service { private IServiceInstanceInventoryCacheDAO getCacheDAO() { if (isNull(cacheDAO)) { - this.cacheDAO = moduleManager.find(StorageModule.NAME).getService(IServiceInstanceInventoryCacheDAO.class); + this.cacheDAO = moduleManager.find(StorageModule.NAME).provider().getService(IServiceInstanceInventoryCacheDAO.class); } return this.cacheDAO; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/ServiceInventoryCache.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/ServiceInventoryCache.java index 4aa798c61..a38cb2e10 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/ServiceInventoryCache.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cache/ServiceInventoryCache.java @@ -56,7 +56,7 @@ public class ServiceInventoryCache implements Service { private IServiceInventoryCacheDAO getCacheDAO() { if (isNull(cacheDAO)) { - this.cacheDAO = moduleManager.find(StorageModule.NAME).getService(IServiceInventoryCacheDAO.class); + this.cacheDAO = moduleManager.find(StorageModule.NAME).provider().getService(IServiceInventoryCacheDAO.class); } return this.cacheDAO; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cluster/ClusterModule.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cluster/ClusterModule.java index a4499dcbd..c4c826a0e 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cluster/ClusterModule.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/cluster/ClusterModule.java @@ -18,7 +18,7 @@ package org.apache.skywalking.oap.server.core.cluster; -import org.apache.skywalking.oap.server.library.module.ModuleDefine; +import org.apache.skywalking.oap.server.library.module.*; /** * @author peng-yongsheng @@ -27,8 +27,8 @@ public class ClusterModule extends ModuleDefine { public static final String NAME = "cluster"; - @Override public String name() { - return NAME; + public ClusterModule() { + super(NAME); } @Override public Class[] services() { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/AggregationQueryService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/AggregationQueryService.java index 6e247c6f0..742203ff0 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/AggregationQueryService.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/AggregationQueryService.java @@ -44,7 +44,7 @@ public class AggregationQueryService implements Service { private IAggregationQueryDAO getAggregationQueryDAO() { if (aggregationQueryDAO == null) { - aggregationQueryDAO = moduleManager.find(StorageModule.NAME).getService(IAggregationQueryDAO.class); + aggregationQueryDAO = moduleManager.find(StorageModule.NAME).provider().getService(IAggregationQueryDAO.class); } return aggregationQueryDAO; } @@ -53,7 +53,7 @@ public class AggregationQueryService implements Service { final long endTB, final Order order) throws IOException { List topNEntities = getAggregationQueryDAO().getServiceTopN(indName, ValueColumnIds.INSTANCE.getValueCName(indName), topN, step, startTB, endTB, order); for (TopNEntity entity : topNEntities) { - ServiceInventory inventory = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class).get(Integer.valueOf(entity.getId())); + ServiceInventory inventory = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class).get(Integer.valueOf(entity.getId())); if (inventory != null) { entity.setName(inventory.getName()); } @@ -65,7 +65,7 @@ public class AggregationQueryService implements Service { final long startTB, final long endTB, final Order order) throws IOException { List topNEntities = getAggregationQueryDAO().getAllServiceInstanceTopN(indName, ValueColumnIds.INSTANCE.getValueCName(indName), topN, step, startTB, endTB, order); for (TopNEntity entity : topNEntities) { - ServiceInstanceInventory inventory = moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class).get(Integer.valueOf(entity.getId())); + ServiceInstanceInventory inventory = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInstanceInventoryCache.class).get(Integer.valueOf(entity.getId())); if (inventory != null) { entity.setName(inventory.getName()); } @@ -77,7 +77,7 @@ public class AggregationQueryService implements Service { final Step step, final long startTB, final long endTB, final Order order) throws IOException { List topNEntities = getAggregationQueryDAO().getServiceInstanceTopN(serviceId, indName, ValueColumnIds.INSTANCE.getValueCName(indName), topN, step, startTB, endTB, order); for (TopNEntity entity : topNEntities) { - ServiceInstanceInventory inventory = moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class).get(Integer.valueOf(entity.getId())); + ServiceInstanceInventory inventory = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInstanceInventoryCache.class).get(Integer.valueOf(entity.getId())); if (inventory != null) { entity.setName(inventory.getName()); } @@ -89,7 +89,7 @@ public class AggregationQueryService implements Service { final long startTB, final long endTB, final Order order) throws IOException { List topNEntities = getAggregationQueryDAO().getAllEndpointTopN(indName, ValueColumnIds.INSTANCE.getValueCName(indName), topN, step, startTB, endTB, order); for (TopNEntity entity : topNEntities) { - EndpointInventory inventory = moduleManager.find(CoreModule.NAME).getService(EndpointInventoryCache.class).get(Integer.valueOf(entity.getId())); + EndpointInventory inventory = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class).get(Integer.valueOf(entity.getId())); if (inventory != null) { entity.setName(inventory.getName()); } @@ -101,7 +101,7 @@ public class AggregationQueryService implements Service { final Step step, final long startTB, final long endTB, final Order order) throws IOException { List topNEntities = getAggregationQueryDAO().getEndpointTopN(serviceId, indName, ValueColumnIds.INSTANCE.getValueCName(indName), topN, step, startTB, endTB, order); for (TopNEntity entity : topNEntities) { - EndpointInventory inventory = moduleManager.find(CoreModule.NAME).getService(EndpointInventoryCache.class).get(Integer.valueOf(entity.getId())); + EndpointInventory inventory = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class).get(Integer.valueOf(entity.getId())); if (inventory != null) { entity.setName(inventory.getName()); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/AlarmQueryService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/AlarmQueryService.java index ab8f95640..9533cbee4 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/AlarmQueryService.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/AlarmQueryService.java @@ -43,7 +43,7 @@ public class AlarmQueryService implements Service { private IAlarmQueryDAO getAlarmQueryDAO() { if (alarmQueryDAO == null) { - alarmQueryDAO = moduleManager.find(StorageModule.NAME).getService(IAlarmQueryDAO.class); + alarmQueryDAO = moduleManager.find(StorageModule.NAME).provider().getService(IAlarmQueryDAO.class); } return alarmQueryDAO; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java index 252ce72bc..639082728 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetadataQueryService.java @@ -45,21 +45,21 @@ public class MetadataQueryService implements org.apache.skywalking.oap.server.li private IMetadataQueryDAO getMetadataQueryDAO() { if (metadataQueryDAO == null) { - metadataQueryDAO = moduleManager.find(StorageModule.NAME).getService(IMetadataQueryDAO.class); + metadataQueryDAO = moduleManager.find(StorageModule.NAME).provider().getService(IMetadataQueryDAO.class); } return metadataQueryDAO; } private ServiceInventoryCache getServiceInventoryCache() { if (serviceInventoryCache == null) { - serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); + serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); } return serviceInventoryCache; } private EndpointInventoryCache getEndpointInventoryCache() { if (endpointInventoryCache == null) { - endpointInventoryCache = moduleManager.find(CoreModule.NAME).getService(EndpointInventoryCache.class); + endpointInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class); } return endpointInventoryCache; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java index cd83c2f20..0d62c4e5e 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/MetricQueryService.java @@ -50,7 +50,7 @@ public class MetricQueryService implements Service { private IMetricQueryDAO getMetricQueryDAO() { if (metricQueryDAO == null) { - metricQueryDAO = moduleManager.find(StorageModule.NAME).getService(IMetricQueryDAO.class); + metricQueryDAO = moduleManager.find(StorageModule.NAME).provider().getService(IMetricQueryDAO.class); } return metricQueryDAO; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/QueryModule.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/QueryModule.java index bbba7314a..5821e4fa9 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/QueryModule.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/QueryModule.java @@ -29,8 +29,8 @@ public class QueryModule extends ModuleDefine { private static final String NAME = "query"; - @Override public String name() { - return NAME; + public QueryModule() { + super(NAME); } @Override public Class[] services() { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyBuilder.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyBuilder.java index c518c107d..c9d10f4ad 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyBuilder.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyBuilder.java @@ -40,8 +40,8 @@ class TopologyBuilder { private final IComponentLibraryCatalogService componentLibraryCatalogService; TopologyBuilder(ModuleManager moduleManager) { - this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); - this.componentLibraryCatalogService = moduleManager.find(CoreModule.NAME).getService(IComponentLibraryCatalogService.class); + this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); + this.componentLibraryCatalogService = moduleManager.find(CoreModule.NAME).provider().getService(IComponentLibraryCatalogService.class); } Topology build(List serviceRelationClientCalls, List serviceRelationServerCalls) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyQueryService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyQueryService.java index 6e5dc1ddd..33031ab80 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyQueryService.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TopologyQueryService.java @@ -51,28 +51,28 @@ public class TopologyQueryService implements Service { private IMetadataQueryDAO getMetadataQueryDAO() { if (metadataQueryDAO == null) { - metadataQueryDAO = moduleManager.find(StorageModule.NAME).getService(IMetadataQueryDAO.class); + metadataQueryDAO = moduleManager.find(StorageModule.NAME).provider().getService(IMetadataQueryDAO.class); } return metadataQueryDAO; } private ITopologyQueryDAO getTopologyQueryDAO() { if (topologyQueryDAO == null) { - topologyQueryDAO = moduleManager.find(StorageModule.NAME).getService(ITopologyQueryDAO.class); + topologyQueryDAO = moduleManager.find(StorageModule.NAME).provider().getService(ITopologyQueryDAO.class); } return topologyQueryDAO; } private IComponentLibraryCatalogService getComponentLibraryCatalogService() { if (componentLibraryCatalogService == null) { - componentLibraryCatalogService = moduleManager.find(CoreModule.NAME).getService(IComponentLibraryCatalogService.class); + componentLibraryCatalogService = moduleManager.find(CoreModule.NAME).provider().getService(IComponentLibraryCatalogService.class); } return componentLibraryCatalogService; } private EndpointInventoryCache getEndpointInventoryCache() { if (endpointInventoryCache == null) { - endpointInventoryCache = moduleManager.find(CoreModule.NAME).getService(EndpointInventoryCache.class); + endpointInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class); } return endpointInventoryCache; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TraceQueryService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TraceQueryService.java index d475b960e..b506e15c1 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TraceQueryService.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/query/TraceQueryService.java @@ -54,35 +54,35 @@ public class TraceQueryService implements Service { private ITraceQueryDAO getTraceQueryDAO() { if (traceQueryDAO == null) { - this.traceQueryDAO = moduleManager.find(StorageModule.NAME).getService(ITraceQueryDAO.class); + this.traceQueryDAO = moduleManager.find(StorageModule.NAME).provider().getService(ITraceQueryDAO.class); } return traceQueryDAO; } private ServiceInventoryCache getServiceInventoryCache() { if (serviceInventoryCache == null) { - this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); + this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); } return serviceInventoryCache; } private EndpointInventoryCache getEndpointInventoryCache() { if (endpointInventoryCache == null) { - this.endpointInventoryCache = moduleManager.find(CoreModule.NAME).getService(EndpointInventoryCache.class); + this.endpointInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class); } return endpointInventoryCache; } private NetworkAddressInventoryCache getNetworkAddressInventoryCache() { if (networkAddressInventoryCache == null) { - this.networkAddressInventoryCache = moduleManager.find(CoreModule.NAME).getService(NetworkAddressInventoryCache.class); + this.networkAddressInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(NetworkAddressInventoryCache.class); } return networkAddressInventoryCache; } private IComponentLibraryCatalogService getComponentLibraryCatalogService() { if (componentLibraryCatalogService == null) { - this.componentLibraryCatalogService = moduleManager.find(CoreModule.NAME).getService(IComponentLibraryCatalogService.class); + this.componentLibraryCatalogService = moduleManager.find(CoreModule.NAME).provider().getService(IComponentLibraryCatalogService.class); } return componentLibraryCatalogService; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java index 5a000a6be..d490b6c18 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/EndpointInventoryRegister.java @@ -45,7 +45,7 @@ public class EndpointInventoryRegister implements IEndpointInventoryRegister { private EndpointInventoryCache getCacheService() { if (isNull(cacheService)) { - cacheService = moduleManager.find(CoreModule.NAME).getService(EndpointInventoryCache.class); + cacheService = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class); } return cacheService; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java index db72c87ff..cccb7bc9d 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/NetworkAddressInventoryRegister.java @@ -46,21 +46,21 @@ public class NetworkAddressInventoryRegister implements INetworkAddressInventory private NetworkAddressInventoryCache getNetworkAddressInventoryCache() { if (isNull(networkAddressInventoryCache)) { - this.networkAddressInventoryCache = moduleManager.find(CoreModule.NAME).getService(NetworkAddressInventoryCache.class); + this.networkAddressInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(NetworkAddressInventoryCache.class); } return this.networkAddressInventoryCache; } private IServiceInventoryRegister getServiceInventoryRegister() { if (isNull(serviceInventoryRegister)) { - this.serviceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInventoryRegister.class); + this.serviceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class); } return this.serviceInventoryRegister; } private IServiceInstanceInventoryRegister getServiceInstanceInventoryRegister() { if (isNull(serviceInstanceInventoryRegister)) { - this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInstanceInventoryRegister.class); + this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInstanceInventoryRegister.class); } return this.serviceInstanceInventoryRegister; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java index c6b0e5ec8..cf57cb760 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInstanceInventoryRegister.java @@ -45,7 +45,7 @@ public class ServiceInstanceInventoryRegister implements IServiceInstanceInvento private ServiceInstanceInventoryCache getServiceInstanceInventoryCache() { if (isNull(serviceInstanceInventoryCache)) { - serviceInstanceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class); + serviceInstanceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInstanceInventoryCache.class); } return serviceInstanceInventoryCache; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java index 24d0c92e0..d5a94df19 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/service/ServiceInventoryRegister.java @@ -45,7 +45,7 @@ public class ServiceInventoryRegister implements IServiceInventoryRegister { private ServiceInventoryCache getServiceInventoryCache() { if (isNull(serviceInventoryCache)) { - this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); + this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); } return serviceInventoryCache; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java index ad6c78721..cd6f35ff5 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/InventoryProcess.java @@ -52,7 +52,7 @@ public enum InventoryProcess { Class builderClass = StorageEntityAnnotationUtils.getBuilder(inventoryClass); - StorageDAO storageDAO = moduleManager.find(StorageModule.NAME).getService(StorageDAO.class); + StorageDAO storageDAO = moduleManager.find(StorageModule.NAME).provider().getService(StorageDAO.class); IRegisterDAO registerDAO; try { registerDAO = storageDAO.newRegisterDao(builderClass.newInstance()); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterPersistentWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterPersistentWorker.java index 57c663d8b..b315074f3 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterPersistentWorker.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterPersistentWorker.java @@ -49,7 +49,7 @@ public class RegisterPersistentWorker extends AbstractWorker { this.modelName = modelName; this.sources = new HashMap<>(); this.registerDAO = registerDAO; - this.registerLockDAO = moduleManager.find(StorageModule.NAME).getService(IRegisterLockDAO.class); + this.registerLockDAO = moduleManager.find(StorageModule.NAME).provider().getService(IRegisterLockDAO.class); this.scope = scope; this.dataCarrier = new DataCarrier<>("IndicatorPersistentWorker." + modelName, 1, 10000); this.dataCarrier.consume(new RegisterPersistentWorker.PersistentConsumer(this), 1); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterRemoteWorker.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterRemoteWorker.java index f8d14dd4e..1bf3e4122 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterRemoteWorker.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/register/worker/RegisterRemoteWorker.java @@ -38,7 +38,7 @@ public class RegisterRemoteWorker extends AbstractWorker { RegisterRemoteWorker(int workerId, ModuleManager moduleManager, AbstractWorker nextWorker) { super(workerId); - this.remoteSender = moduleManager.find(CoreModule.NAME).getService(RemoteSenderService.class); + this.remoteSender = moduleManager.find(CoreModule.NAME).provider().getService(RemoteSenderService.class); this.nextWorker = nextWorker; } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteSenderService.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteSenderService.java index e91e45e2f..a02854613 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteSenderService.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteSenderService.java @@ -42,7 +42,7 @@ public class RemoteSenderService implements Service { } public void send(int nextWorkId, StreamData streamData, Selector selector) { - RemoteClientManager clientManager = moduleManager.find(CoreModule.NAME).getService(RemoteClientManager.class); + RemoteClientManager clientManager = moduleManager.find(CoreModule.NAME).provider().getService(RemoteClientManager.class); RemoteClient remoteClient; switch (selector) { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteServiceHandler.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteServiceHandler.java index 16bcccf54..92b2a872b 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteServiceHandler.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/RemoteServiceHandler.java @@ -45,7 +45,7 @@ public class RemoteServiceHandler extends RemoteServiceGrpc.RemoteServiceImplBas @Override public StreamObserver call(StreamObserver responseObserver) { if (Objects.isNull(streamDataClassGetter)) { - streamDataClassGetter = moduleManager.find(CoreModule.NAME).getService(StreamDataClassGetter.class); + streamDataClassGetter = moduleManager.find(CoreModule.NAME).provider().getService(StreamDataClassGetter.class); } return new StreamObserver() { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/client/RemoteClientManager.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/client/RemoteClientManager.java index 57e2f4c55..129b51761 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/client/RemoteClientManager.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/remote/client/RemoteClientManager.java @@ -48,8 +48,8 @@ public class RemoteClientManager implements Service { } public void start() { - this.clusterNodesQuery = moduleManager.find(ClusterModule.NAME).getService(ClusterNodesQuery.class); - this.streamDataClassGetter = moduleManager.find(CoreModule.NAME).getService(StreamDataClassGetter.class); + this.clusterNodesQuery = moduleManager.find(ClusterModule.NAME).provider().getService(ClusterNodesQuery.class); + this.streamDataClassGetter = moduleManager.find(CoreModule.NAME).provider().getService(StreamDataClassGetter.class); Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate(this::refresh, 5, 5, TimeUnit.SECONDS); } diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java index 4d8ebd705..63d3a8114 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/PersistenceTimer.java @@ -45,7 +45,7 @@ public enum PersistenceTimer { //TODO timer value config // final long timeInterval = EsConfig.Es.Persistence.Timer.VALUE * 1000; final long timeInterval = 3; - IBatchDAO batchDAO = moduleManager.find(StorageModule.NAME).getService(IBatchDAO.class); + IBatchDAO batchDAO = moduleManager.find(StorageModule.NAME).provider().getService(IBatchDAO.class); if (!isStarted) { Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate( diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageModule.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageModule.java index 1665cc12f..02a896e42 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageModule.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/StorageModule.java @@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.core.storage; import org.apache.skywalking.oap.server.core.storage.cache.*; import org.apache.skywalking.oap.server.core.storage.query.*; -import org.apache.skywalking.oap.server.library.module.ModuleDefine; +import org.apache.skywalking.oap.server.library.module.*; /** * @author peng-yongsheng @@ -29,8 +29,8 @@ public class StorageModule extends ModuleDefine { public static final String NAME = "storage"; - @Override public String name() { - return NAME; + public StorageModule() { + super(NAME); } @Override public Class[] services() { diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ModelInstaller.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ModelInstaller.java index efd9026b1..1c3b463ff 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ModelInstaller.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/model/ModelInstaller.java @@ -40,8 +40,8 @@ public abstract class ModelInstaller { } public final void install(Client client) throws StorageException { - IModelGetter modelGetter = moduleManager.find(CoreModule.NAME).getService(IModelGetter.class); - DownsamplingConfigService downsamplingConfigService = moduleManager.find(CoreModule.NAME).getService(DownsamplingConfigService.class); + IModelGetter modelGetter = moduleManager.find(CoreModule.NAME).provider().getService(IModelGetter.class); + DownsamplingConfigService downsamplingConfigService = moduleManager.find(CoreModule.NAME).provider().getService(DownsamplingConfigService.class); List models = modelGetter.getModels(); List downsamplingModels = new ArrayList<>(); diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/ttl/DataTTLKeeperTimer.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/ttl/DataTTLKeeperTimer.java index 2d920ad81..861dd7bbe 100644 --- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/ttl/DataTTLKeeperTimer.java +++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/storage/ttl/DataTTLKeeperTimer.java @@ -58,7 +58,7 @@ public enum DataTTLKeeperTimer { public void start(ModuleManager moduleManager) { this.moduleManager = moduleManager; - this.clusterNodesQuery = moduleManager.find(ClusterModule.NAME).getService(ClusterNodesQuery.class); + this.clusterNodesQuery = moduleManager.find(ClusterModule.NAME).provider().getService(ClusterNodesQuery.class); Executors.newSingleThreadScheduledExecutor().scheduleAtFixedRate( new RunnableWithExceptionProtection(this::delete, @@ -79,8 +79,8 @@ public enum DataTTLKeeperTimer { logger.info("Metrics in day dimension before {}, are going to be removed.", timeBuckets.dayTimeBucketBefore); logger.info("Metrics in month dimension before {}, are going to be removed.", timeBuckets.monthTimeBucketBefore); - IModelGetter modelGetter = moduleManager.find(CoreModule.NAME).getService(IModelGetter.class); - DownsamplingConfigService downsamplingConfigService = moduleManager.find(CoreModule.NAME).getService(DownsamplingConfigService.class); + IModelGetter modelGetter = moduleManager.find(CoreModule.NAME).provider().getService(IModelGetter.class); + DownsamplingConfigService downsamplingConfigService = moduleManager.find(CoreModule.NAME).provider().getService(DownsamplingConfigService.class); List models = modelGetter.getModels(); models.forEach(model -> { if (model.isIndicator()) { @@ -115,7 +115,7 @@ public enum DataTTLKeeperTimer { private void execute(String modelName, long timeBucketBefore, String timeBucketColumnName) { try { - moduleManager.find(StorageModule.NAME).getService(IHistoryDeleteDAO.class).deleteHistory(modelName, timeBucketColumnName, timeBucketBefore); + moduleManager.find(StorageModule.NAME).provider().getService(IHistoryDeleteDAO.class).deleteHistory(modelName, timeBucketColumnName, timeBucketBefore); } catch (IOException e) { logger.warn("History delete failure, error message: {}", e.getMessage()); } diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/BootstrapFlow.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/BootstrapFlow.java index e41e2bea8..80187ddba 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/BootstrapFlow.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/BootstrapFlow.java @@ -18,14 +18,9 @@ package org.apache.skywalking.oap.server.library.module; +import java.util.*; import org.apache.skywalking.oap.server.library.util.CollectionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; +import org.slf4j.*; /** * @author wu-sheng, peng-yongsheng diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/DuplicateProviderException.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/DuplicateProviderException.java index c3132671e..fa34ba5c5 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/DuplicateProviderException.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/DuplicateProviderException.java @@ -16,10 +16,9 @@ * */ - package org.apache.skywalking.oap.server.library.module; -public class DuplicateProviderException extends Exception { +public class DuplicateProviderException extends RuntimeException { public DuplicateProviderException(String message) { super(message); } diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java index c9e5e12ef..301cc8bd4 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java @@ -27,16 +27,24 @@ import org.slf4j.*; * * @author wu-sheng, peng-yongsheng */ -public abstract class ModuleDefine { +public abstract class ModuleDefine implements ModuleProviderHolder { private static final Logger logger = LoggerFactory.getLogger(ModuleDefine.class); - private LinkedList loadedProviders = new LinkedList<>(); + private final LinkedList loadedProviders = new LinkedList<>(); + + private final String name; + + public ModuleDefine(String name) { + this.name = name; + } /** * @return the module name */ - public abstract String name(); + public final String name() { + return name; + } /** * @return the {@link Service} provided by this module. @@ -68,7 +76,7 @@ public abstract class ModuleDefine { throw new ProviderNotFoundException(e); } newProvider.setManager(moduleManager); - newProvider.setModule(this); + newProvider.setModuleDefine(this); loadedProviders.add(newProvider); } } @@ -129,19 +137,13 @@ public abstract class ModuleDefine { return loadedProviders; } - public final ModuleProvider provider() throws DuplicateProviderException { + @Override public final ModuleProvider provider() throws DuplicateProviderException, ProviderNotFoundException { if (loadedProviders.size() > 1) { throw new DuplicateProviderException(this.name() + " module exist " + loadedProviders.size() + " providers"); + } else if (loadedProviders.size() == 0) { + throw new ProviderNotFoundException("There is no module provider in " + this.name() + " module!"); } return loadedProviders.getFirst(); } - - public final T getService(Class serviceType) throws ServiceNotProvidedRuntimeException { - try { - return provider().getService(serviceType); - } catch (DuplicateProviderException | ServiceNotProvidedException e) { - throw new ServiceNotProvidedRuntimeException(e.getMessage()); - } - } } diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefineHolder.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefineHolder.java new file mode 100644 index 000000000..314f7a998 --- /dev/null +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefineHolder.java @@ -0,0 +1,29 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.library.module; + +/** + * @author peng-yongsheng + */ +public interface ModuleDefineHolder { + + boolean has(String moduleName); + + ModuleProviderHolder find(String moduleName) throws ModuleNotFoundRuntimeException; +} diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleManager.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleManager.java index 02f09dc86..90cf32540 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleManager.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleManager.java @@ -25,9 +25,10 @@ import java.util.*; * * @author wu-sheng, peng-yongsheng */ -public class ModuleManager { +public class ModuleManager implements ModuleDefineHolder { + private boolean isInPrepareStage = true; - private Map loadedModules = new HashMap<>(); + private final Map loadedModules = new HashMap<>(); /** * Init the given modules @@ -65,11 +66,11 @@ public class ModuleManager { bootstrapFlow.notifyAfterCompleted(); } - public boolean has(String moduleName) { + @Override public boolean has(String moduleName) { return loadedModules.get(moduleName) != null; } - public ModuleDefine find(String moduleName) throws ModuleNotFoundRuntimeException { + @Override public ModuleProviderHolder find(String moduleName) throws ModuleNotFoundRuntimeException { assertPreparedStage(); ModuleDefine module = loadedModules.get(moduleName); if (module != null) diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProvider.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProvider.java index 9873303c0..22015843c 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProvider.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProvider.java @@ -19,30 +19,23 @@ package org.apache.skywalking.oap.server.library.module; import java.util.*; +import lombok.Setter; /** * The ModuleProvider is an implementation of a {@link ModuleDefine}. * - * And each module can have one or more implementation, which depends on `application.yml` + * And each moduleDefine can have one or more implementation, which depends on `application.yml` * * @author wu-sheng, peng-yongsheng */ -public abstract class ModuleProvider { - private ModuleManager manager; - private ModuleDefine module; - private Map, Service> services = new HashMap<>(); +public abstract class ModuleProvider implements ModuleServiceHolder { + @Setter private ModuleManager manager; + @Setter private ModuleDefine moduleDefine; + private final Map, Service> services = new HashMap<>(); public ModuleProvider() { } - void setManager(ModuleManager manager) { - this.manager = manager; - } - - void setModule(ModuleDefine module) { - this.module = module; - } - protected final ModuleManager getManager() { return manager; } @@ -53,7 +46,7 @@ public abstract class ModuleProvider { public abstract String name(); /** - * @return the module name + * @return the moduleDefine name */ public abstract Class module(); @@ -63,12 +56,12 @@ public abstract class ModuleProvider { public abstract ModuleConfig createConfigBeanIfAbsent(); /** - * In prepare stage, the module should initialize things which are irrelative other modules. + * In prepare stage, the moduleDefine should initialize things which are irrelative other modules. */ public abstract void prepare() throws ServiceNotProvidedException, ModuleStartException; /** - * In start stage, the module has been ready for interop. + * In start stage, the moduleDefine has been ready for interop. */ public abstract void start() throws ServiceNotProvidedException, ModuleStartException; @@ -78,14 +71,14 @@ public abstract class ModuleProvider { public abstract void notifyAfterCompleted() throws ServiceNotProvidedException, ModuleStartException; /** - * @return module names which does this module require? + * @return moduleDefine names which does this moduleDefine require? */ public abstract String[] requiredModules(); /** - * Register a implementation for the service of this module provider. + * Register a implementation for the service of this moduleDefine provider. */ - protected final void registerServiceImplementation(Class serviceType, + @Override public final void registerServiceImplementation(Class serviceType, Service service) throws ServiceNotProvidedException { if (serviceType.isInstance(service)) { this.services.put(serviceType, service); @@ -97,7 +90,7 @@ public abstract class ModuleProvider { /** * Make sure all required services have been implemented. * - * @param requiredServices must be implemented by the module. + * @param requiredServices must be implemented by the moduleDefine. * @throws ServiceNotProvidedException when exist unimplemented service. */ void requiredCheck(Class[] requiredServices) throws ServiceNotProvidedException { @@ -111,25 +104,25 @@ public abstract class ModuleProvider { } if (requiredServices.length != services.size()) { - throw new ServiceNotProvidedException("The " + this.name() + " provider in " + module.name() + " module provide more service implementations than ModuleDefine requirements."); + throw new ServiceNotProvidedException("The " + this.name() + " provider in " + moduleDefine.name() + " moduleDefine provide more service implementations than ModuleDefine requirements."); } } - public @SuppressWarnings("unchecked") T getService( + @Override public @SuppressWarnings("unchecked") T getService( Class serviceType) throws ServiceNotProvidedException { Service serviceImpl = services.get(serviceType); if (serviceImpl != null) { return (T)serviceImpl; } - throw new ServiceNotProvidedException("Service " + serviceType.getName() + " should not be provided, based on module define."); + throw new ServiceNotProvidedException("Service " + serviceType.getName() + " should not be provided, based on moduleDefine define."); } ModuleDefine getModule() { - return module; + return moduleDefine; } String getModuleName() { - return module.name(); + return moduleDefine.name(); } } diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProviderHolder.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProviderHolder.java new file mode 100644 index 000000000..1d3ff9c5f --- /dev/null +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProviderHolder.java @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.library.module; + +/** + * @author peng-yongsheng + */ +public interface ModuleProviderHolder { + + ModuleServiceHolder provider() throws DuplicateProviderException, ProviderNotFoundException; +} diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleServiceHolder.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleServiceHolder.java new file mode 100644 index 000000000..b55d65dc6 --- /dev/null +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleServiceHolder.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.library.module; + +/** + * @author peng-yongsheng + */ +public interface ModuleServiceHolder { + + void registerServiceImplementation(Class serviceType, + Service service) throws ServiceNotProvidedException; + + T getService(Class serviceType) throws ServiceNotProvidedException; +} diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ProviderNotFoundException.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ProviderNotFoundException.java index 63d45a0ae..bb9edd6fb 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ProviderNotFoundException.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ProviderNotFoundException.java @@ -18,7 +18,7 @@ package org.apache.skywalking.oap.server.library.module; -public class ProviderNotFoundException extends Exception { +public class ProviderNotFoundException extends RuntimeException { public ProviderNotFoundException(String message) { super(message); } diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ServiceNotProvidedException.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ServiceNotProvidedException.java index 4ebfe4560..9d7a8821e 100644 --- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ServiceNotProvidedException.java +++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ServiceNotProvidedException.java @@ -18,7 +18,7 @@ package org.apache.skywalking.oap.server.library.module; -public class ServiceNotProvidedException extends Exception { +public class ServiceNotProvidedException extends RuntimeException { public ServiceNotProvidedException(String message) { super(message); } diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleA.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleA.java index 98cf2a298..308c12e79 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleA.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleA.java @@ -16,15 +16,15 @@ * */ - package org.apache.skywalking.oap.server.library.module; /** * @author wu-sheng */ public class BaseModuleA extends ModuleDefine { - @Override public String name() { - return "BaseA"; + + public BaseModuleA() { + super("BaseA"); } @Override public Class[] services() { @@ -36,6 +36,5 @@ public class BaseModuleA extends ModuleDefine { } public interface ServiceABusiness2 extends Service { - } } diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleB.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleB.java index c86408199..f7171dd71 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleB.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/BaseModuleB.java @@ -16,15 +16,15 @@ * */ - package org.apache.skywalking.oap.server.library.module; /** * @author wu-sheng */ public class BaseModuleB extends ModuleDefine { - @Override public String name() { - return "BaseB"; + + public BaseModuleB() { + super("BaseB"); } @Override public Class[] services() { diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java index 25bea7c14..2be233896 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java @@ -18,10 +18,8 @@ package org.apache.skywalking.oap.server.library.module; -import org.junit.Assert; -import org.junit.Test; - import java.util.Properties; +import org.junit.*; /** * @author wu-sheng diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModule.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModule.java index f2b325d36..0d1d80387 100644 --- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModule.java +++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModule.java @@ -16,15 +16,15 @@ * */ - package org.apache.skywalking.oap.server.library.module; /** * @author wu-sheng */ public class TestModule extends ModuleDefine { - @Override public String name() { - return "Test"; + + public TestModule() { + super("Test"); } @Override public Class[] services() { diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java index 7288c43ea..c834dafec 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java @@ -72,7 +72,7 @@ public class GraphQLQueryProvider extends ModuleProvider { } @Override public void start() throws ServiceNotProvidedException, ModuleStartException { - JettyHandlerRegister service = getManager().find(CoreModule.NAME).getService(JettyHandlerRegister.class); + JettyHandlerRegister service = getManager().find(CoreModule.NAME).provider().getService(JettyHandlerRegister.class); service.addHandler(new GraphQLQueryHandler(config.getPath(), graphQL)); } diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/AggregationQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/AggregationQuery.java index fabbc2de4..3122274c2 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/AggregationQuery.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/AggregationQuery.java @@ -41,7 +41,7 @@ public class AggregationQuery implements GraphQLQueryResolver { private AggregationQueryService getQueryService() { if (queryService == null) { - this.queryService = moduleManager.find(CoreModule.NAME).getService(AggregationQueryService.class); + this.queryService = moduleManager.find(CoreModule.NAME).provider().getService(AggregationQueryService.class); } return queryService; } diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/AlarmQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/AlarmQuery.java index 3a30e8f2c..2cfac2366 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/AlarmQuery.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/AlarmQuery.java @@ -41,7 +41,7 @@ public class AlarmQuery implements GraphQLQueryResolver { private AlarmQueryService getQueryService() { if (queryService == null) { - this.queryService = moduleManager.find(CoreModule.NAME).getService(AlarmQueryService.class); + this.queryService = moduleManager.find(CoreModule.NAME).provider().getService(AlarmQueryService.class); } return queryService; } diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java index 4203eb2a4..c7ae17eda 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetadataQuery.java @@ -42,7 +42,7 @@ public class MetadataQuery implements GraphQLQueryResolver { private MetadataQueryService getMetadataQueryService() { if (metadataQueryService == null) { - this.metadataQueryService = moduleManager.find(CoreModule.NAME).getService(MetadataQueryService.class); + this.metadataQueryService = moduleManager.find(CoreModule.NAME).provider().getService(MetadataQueryService.class); } return metadataQueryService; } diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetricQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetricQuery.java index 429d32fb6..498b62e32 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetricQuery.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/MetricQuery.java @@ -41,7 +41,7 @@ public class MetricQuery implements GraphQLQueryResolver { private MetricQueryService getMetricQueryService() { if (metricQueryService == null) { - this.metricQueryService = moduleManager.find(CoreModule.NAME).getService(MetricQueryService.class); + this.metricQueryService = moduleManager.find(CoreModule.NAME).provider().getService(MetricQueryService.class); } return metricQueryService; } diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/TopologyQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/TopologyQuery.java index 2073b7719..de9f50439 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/TopologyQuery.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/TopologyQuery.java @@ -41,7 +41,7 @@ public class TopologyQuery implements GraphQLQueryResolver { private TopologyQueryService getQueryService() { if (queryService == null) { - this.queryService = moduleManager.find(CoreModule.NAME).getService(TopologyQueryService.class); + this.queryService = moduleManager.find(CoreModule.NAME).provider().getService(TopologyQueryService.class); } return queryService; } diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/TraceQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/TraceQuery.java index aca728e1b..7bc4fe52f 100644 --- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/TraceQuery.java +++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/TraceQuery.java @@ -43,7 +43,7 @@ public class TraceQuery implements GraphQLQueryResolver { private TraceQueryService getQueryService() { if (queryService == null) { - this.queryService = moduleManager.find(CoreModule.NAME).getService(TraceQueryService.class); + this.queryService = moduleManager.find(CoreModule.NAME).provider().getService(TraceQueryService.class); } return queryService; } diff --git a/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/module/IstioTelemetryReceiverModule.java b/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/module/IstioTelemetryReceiverModule.java index dd91b721d..ad9f12753 100644 --- a/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/module/IstioTelemetryReceiverModule.java +++ b/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/module/IstioTelemetryReceiverModule.java @@ -20,11 +20,11 @@ package org.apache.skywalking.oap.server.receiver.istio.telemetry.module; import org.apache.skywalking.oap.server.library.module.ModuleDefine; -public class IstioTelemetryReceiverModule extends ModuleDefine { +public class IstioTelemetryReceiverModule extends ModuleDefine { public static final String NAME = "istio-telemetry"; - @Override public String name() { - return NAME; + public IstioTelemetryReceiverModule() { + super(NAME); } @Override public Class[] services() { diff --git a/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/provider/IstioTelemetryReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/provider/IstioTelemetryReceiverProvider.java index 5ac2f15f5..13a55ff1f 100644 --- a/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/provider/IstioTelemetryReceiverProvider.java +++ b/oap-server/server-receiver-plugin/skywalking-istio-telemetry-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/istio/telemetry/provider/IstioTelemetryReceiverProvider.java @@ -21,11 +21,8 @@ package org.apache.skywalking.oap.server.receiver.istio.telemetry.provider; import org.apache.skywalking.aop.server.receiver.mesh.MeshReceiverModule; import org.apache.skywalking.oap.server.core.CoreModule; import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister; -import org.apache.skywalking.oap.server.library.module.ModuleConfig; +import org.apache.skywalking.oap.server.library.module.*; import org.apache.skywalking.oap.server.library.module.ModuleDefine; -import org.apache.skywalking.oap.server.library.module.ModuleProvider; -import org.apache.skywalking.oap.server.library.module.ModuleStartException; -import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException; import org.apache.skywalking.oap.server.receiver.istio.telemetry.module.IstioTelemetryReceiverModule; public class IstioTelemetryReceiverProvider extends ModuleProvider { @@ -45,7 +42,7 @@ public class IstioTelemetryReceiverProvider extends ModuleProvider { } @Override public void start() throws ServiceNotProvidedException, ModuleStartException { - GRPCHandlerRegister service = getManager().find(CoreModule.NAME).getService(GRPCHandlerRegister.class); + GRPCHandlerRegister service = getManager().find(CoreModule.NAME).provider().getService(GRPCHandlerRegister.class); service.addHandler(new IstioTelemetryGRPCHandler()); } diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/module/JVMModule.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/module/JVMModule.java index 16c7211dc..ed81b9408 100644 --- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/module/JVMModule.java +++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/module/JVMModule.java @@ -18,15 +18,15 @@ package org.apache.skywalking.oap.server.receiver.jvm.module; -import org.apache.skywalking.oap.server.library.module.ModuleDefine; +import org.apache.skywalking.oap.server.library.module.*; /** * @author peng-yongsheng */ public class JVMModule extends ModuleDefine { - @Override public String name() { - return "receiver-jvm"; + public JVMModule() { + super("receiver-jvm"); } @Override public Class[] services() { diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java index dfb762690..64a70fe9d 100644 --- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java +++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java @@ -45,7 +45,7 @@ public class JVMModuleProvider extends ModuleProvider { } @Override public void start() { - GRPCHandlerRegister grpcHandlerRegister = getManager().find(CoreModule.NAME).getService(GRPCHandlerRegister.class); + GRPCHandlerRegister grpcHandlerRegister = getManager().find(CoreModule.NAME).provider().getService(GRPCHandlerRegister.class); grpcHandlerRegister.addHandler(new JVMMetricsServiceHandler(getManager())); } diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandler.java index f2c7c77bb..55d49e64d 100644 --- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/handler/JVMMetricsServiceHandler.java @@ -39,7 +39,7 @@ public class JVMMetricsServiceHandler extends JVMMetricsServiceGrpc.JVMMetricsSe private final SourceReceiver sourceReceiver; public JVMMetricsServiceHandler(ModuleManager moduleManager) { - this.sourceReceiver = moduleManager.find(CoreModule.NAME).getService(SourceReceiver.class); + this.sourceReceiver = moduleManager.find(CoreModule.NAME).provider().getService(SourceReceiver.class); } @Override public void collect(JVMMetrics request, StreamObserver responseObserver) { diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/CoreRegisterLinker.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/CoreRegisterLinker.java index 2868b82d9..bbd768e04 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/CoreRegisterLinker.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/CoreRegisterLinker.java @@ -39,21 +39,21 @@ public class CoreRegisterLinker { public static IServiceInventoryRegister getServiceInventoryRegister() { if (SERVICE_INVENTORY_REGISTER == null) { - SERVICE_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).getService(IServiceInventoryRegister.class); + SERVICE_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class); } return SERVICE_INVENTORY_REGISTER; } public static IServiceInstanceInventoryRegister getServiceInstanceInventoryRegister() { if (SERVICE_INSTANCE_INVENTORY_REGISTER == null) { - SERVICE_INSTANCE_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).getService(IServiceInstanceInventoryRegister.class); + SERVICE_INSTANCE_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).provider().getService(IServiceInstanceInventoryRegister.class); } return SERVICE_INSTANCE_INVENTORY_REGISTER; } public static IEndpointInventoryRegister getEndpointInventoryRegister() { if (ENDPOINT_INVENTORY_REGISTER == null) { - ENDPOINT_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).getService(IEndpointInventoryRegister.class); + ENDPOINT_INVENTORY_REGISTER = MODULE_MANAGER.find(CoreModule.NAME).provider().getService(IEndpointInventoryRegister.class); } return ENDPOINT_INVENTORY_REGISTER; } diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverModule.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverModule.java index 5809afbdb..0d9e596ae 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverModule.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverModule.java @@ -23,8 +23,8 @@ import org.apache.skywalking.oap.server.library.module.ModuleDefine; public class MeshReceiverModule extends ModuleDefine { public static final String NAME = "service-mesh"; - @Override public String name() { - return NAME; + public MeshReceiverModule() { + super("service-mesh"); } @Override public Class[] services() { diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java index e96b03ceb..cbafbf7aa 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java @@ -21,11 +21,8 @@ package org.apache.skywalking.aop.server.receiver.mesh; import java.io.IOException; import org.apache.skywalking.oap.server.core.CoreModule; import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister; -import org.apache.skywalking.oap.server.library.module.ModuleConfig; +import org.apache.skywalking.oap.server.library.module.*; import org.apache.skywalking.oap.server.library.module.ModuleDefine; -import org.apache.skywalking.oap.server.library.module.ModuleProvider; -import org.apache.skywalking.oap.server.library.module.ModuleStartException; -import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException; public class MeshReceiverProvider extends ModuleProvider { private MeshModuleConfig config; @@ -58,7 +55,7 @@ public class MeshReceiverProvider extends ModuleProvider { throw new ModuleStartException(e.getMessage(), e); } CoreRegisterLinker.setModuleManager(getManager()); - GRPCHandlerRegister service = getManager().find(CoreModule.NAME).getService(GRPCHandlerRegister.class); + GRPCHandlerRegister service = getManager().find(CoreModule.NAME).provider().getService(GRPCHandlerRegister.class); service.addHandler(new MeshGRPCHandler()); } diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java index 7c9e749bc..4f3e54bc8 100644 --- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java +++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/TelemetryDataDispatcher.java @@ -64,11 +64,11 @@ public class TelemetryDataDispatcher { public static void setCache(MeshDataBufferFileCache cache, ModuleManager moduleManager) { CACHE = cache; - SERVICE_CACHE = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); - SERVICE_INSTANCE_CACHE = moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class); - SOURCE_RECEIVER = moduleManager.find(CoreModule.NAME).getService(SourceReceiver.class); - SERVICE_INSTANCE_INVENTORY_REGISTER = moduleManager.find(CoreModule.NAME).getService(IServiceInstanceInventoryRegister.class); - SERVICE_INVENTORY_REGISTER = moduleManager.find(CoreModule.NAME).getService(IServiceInventoryRegister.class); + SERVICE_CACHE = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); + SERVICE_INSTANCE_CACHE = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInstanceInventoryCache.class); + SOURCE_RECEIVER = moduleManager.find(CoreModule.NAME).provider().getService(SourceReceiver.class); + SERVICE_INSTANCE_INVENTORY_REGISTER = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInstanceInventoryRegister.class); + SERVICE_INVENTORY_REGISTER = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class); } public static void preProcess(ServiceMeshMetric data) { diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/module/RegisterModule.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/module/RegisterModule.java index a5d5d0ad8..5df3e4795 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/module/RegisterModule.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/module/RegisterModule.java @@ -18,15 +18,15 @@ package org.apache.skywalking.oap.server.receiver.register.module; -import org.apache.skywalking.oap.server.library.module.ModuleDefine; +import org.apache.skywalking.oap.server.library.module.*; /** * @author peng-yongsheng */ public class RegisterModule extends ModuleDefine { - @Override public String name() { - return "receiver-register"; + public RegisterModule() { + super("receiver-register"); } @Override public Class[] services() { diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java index ffaa49c95..c40a433cb 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java @@ -49,13 +49,13 @@ public class RegisterModuleProvider extends ModuleProvider { } @Override public void start() { - GRPCHandlerRegister grpcHandlerRegister = getManager().find(CoreModule.NAME).getService(GRPCHandlerRegister.class); + GRPCHandlerRegister grpcHandlerRegister = getManager().find(CoreModule.NAME).provider().getService(GRPCHandlerRegister.class); grpcHandlerRegister.addHandler(new ApplicationRegisterHandler(getManager())); grpcHandlerRegister.addHandler(new InstanceDiscoveryServiceHandler(getManager())); grpcHandlerRegister.addHandler(new ServiceNameDiscoveryHandler(getManager())); grpcHandlerRegister.addHandler(new NetworkAddressRegisterServiceHandler(getManager())); - JettyHandlerRegister jettyHandlerRegister = getManager().find(CoreModule.NAME).getService(JettyHandlerRegister.class); + JettyHandlerRegister jettyHandlerRegister = getManager().find(CoreModule.NAME).provider().getService(JettyHandlerRegister.class); jettyHandlerRegister.addHandler(new ApplicationRegisterServletHandler(getManager())); jettyHandlerRegister.addHandler(new InstanceDiscoveryServletHandler(getManager())); jettyHandlerRegister.addHandler(new InstanceHeartBeatServletHandler(getManager())); diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/ApplicationRegisterHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/ApplicationRegisterHandler.java index 224a2c2b3..44eec839a 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/ApplicationRegisterHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/ApplicationRegisterHandler.java @@ -36,7 +36,7 @@ public class ApplicationRegisterHandler extends ApplicationRegisterServiceGrpc.A private final IServiceInventoryRegister serviceInventoryRegister; public ApplicationRegisterHandler(ModuleManager moduleManager) { - serviceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInventoryRegister.class); + serviceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class); } @Override diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/InstanceDiscoveryServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/InstanceDiscoveryServiceHandler.java index 5da018212..b7893a821 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/InstanceDiscoveryServiceHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/InstanceDiscoveryServiceHandler.java @@ -45,10 +45,10 @@ public class InstanceDiscoveryServiceHandler extends InstanceDiscoveryServiceGrp private final IServiceInstanceInventoryRegister serviceInstanceInventoryRegister; public InstanceDiscoveryServiceHandler(ModuleManager moduleManager) { - this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); - this.serviceInstanceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class); - this.serviceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInventoryRegister.class); - this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInstanceInventoryRegister.class); + this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); + this.serviceInstanceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInstanceInventoryCache.class); + this.serviceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class); + this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInstanceInventoryRegister.class); } @Override diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/NetworkAddressRegisterServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/NetworkAddressRegisterServiceHandler.java index 023d6c689..5c88d63fe 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/NetworkAddressRegisterServiceHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/NetworkAddressRegisterServiceHandler.java @@ -37,7 +37,7 @@ public class NetworkAddressRegisterServiceHandler extends NetworkAddressRegister private final INetworkAddressInventoryRegister networkAddressInventoryRegister; public NetworkAddressRegisterServiceHandler(ModuleManager moduleManager) { - this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME).getService(INetworkAddressInventoryRegister.class); + this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(INetworkAddressInventoryRegister.class); } @Override diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/ServiceNameDiscoveryHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/ServiceNameDiscoveryHandler.java index ae531e27e..f628c881d 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/ServiceNameDiscoveryHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/grpc/ServiceNameDiscoveryHandler.java @@ -38,7 +38,7 @@ public class ServiceNameDiscoveryHandler extends ServiceNameDiscoveryServiceGrpc private final IEndpointInventoryRegister inventoryService; public ServiceNameDiscoveryHandler(ModuleManager moduleManager) { - this.inventoryService = moduleManager.find(CoreModule.NAME).getService(IEndpointInventoryRegister.class); + this.inventoryService = moduleManager.find(CoreModule.NAME).provider().getService(IEndpointInventoryRegister.class); } @Override public void discovery(ServiceNameCollection request, diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/ApplicationRegisterServletHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/ApplicationRegisterServletHandler.java index edc551a9b..49f4f35fe 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/ApplicationRegisterServletHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/ApplicationRegisterServletHandler.java @@ -40,7 +40,7 @@ public class ApplicationRegisterServletHandler extends JettyJsonHandler { private static final String APPLICATION_ID = "i"; public ApplicationRegisterServletHandler(ModuleManager moduleManager) { - serviceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInventoryRegister.class); + serviceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class); } @Override public String pathSpec() { diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/InstanceDiscoveryServletHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/InstanceDiscoveryServletHandler.java index 4b8ba9e7e..81fc664d3 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/InstanceDiscoveryServletHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/InstanceDiscoveryServletHandler.java @@ -49,8 +49,8 @@ public class InstanceDiscoveryServletHandler extends JettyJsonHandler { private static final String OS_INFO = "oi"; public InstanceDiscoveryServletHandler(ModuleManager moduleManager) { - this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); - this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInstanceInventoryRegister.class); + this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); + this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInstanceInventoryRegister.class); } @Override public String pathSpec() { diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/InstanceHeartBeatServletHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/InstanceHeartBeatServletHandler.java index df2a7fe45..34c39715a 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/InstanceHeartBeatServletHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/InstanceHeartBeatServletHandler.java @@ -47,9 +47,9 @@ public class InstanceHeartBeatServletHandler extends JettyJsonHandler { private static final String HEARTBEAT_TIME = "ht"; public InstanceHeartBeatServletHandler(ModuleManager moduleManager) { - this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInstanceInventoryRegister.class); - this.serviceInstanceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class); - this.serviceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInventoryRegister.class); + this.serviceInstanceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInstanceInventoryRegister.class); + this.serviceInstanceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInstanceInventoryCache.class); + this.serviceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class); } @Override public String pathSpec() { diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/NetworkAddressRegisterServletHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/NetworkAddressRegisterServletHandler.java index 41ec38a63..88dc51073 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/NetworkAddressRegisterServletHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/NetworkAddressRegisterServletHandler.java @@ -40,7 +40,7 @@ public class NetworkAddressRegisterServletHandler extends JettyJsonHandler { private static final String ADDRESS_ID = "i"; public NetworkAddressRegisterServletHandler(ModuleManager moduleManager) { - this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME).getService(INetworkAddressInventoryRegister.class); + this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(INetworkAddressInventoryRegister.class); } @Override public String pathSpec() { diff --git a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/ServiceNameDiscoveryServiceHandler.java b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/ServiceNameDiscoveryServiceHandler.java index 248dc61c2..c9b09d43e 100644 --- a/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/ServiceNameDiscoveryServiceHandler.java +++ b/oap-server/server-receiver-plugin/skywalking-register-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/handler/v5/rest/ServiceNameDiscoveryServiceHandler.java @@ -47,7 +47,7 @@ public class ServiceNameDiscoveryServiceHandler extends JettyJsonHandler { private static final String ELEMENT = "el"; public ServiceNameDiscoveryServiceHandler(ModuleManager moduleManager) { - this.inventoryService = moduleManager.find(CoreModule.NAME).getService(IEndpointInventoryRegister.class); + this.inventoryService = moduleManager.find(CoreModule.NAME).provider().getService(IEndpointInventoryRegister.class); } @Override public String pathSpec() { diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/module/TraceModule.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/module/TraceModule.java index 6b0558f73..887850e43 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/module/TraceModule.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/module/TraceModule.java @@ -25,8 +25,8 @@ import org.apache.skywalking.oap.server.library.module.ModuleDefine; */ public class TraceModule extends ModuleDefine { - @Override public String name() { - return "receiver-trace"; + public TraceModule() { + super("receiver-trace"); } @Override public Class[] services() { diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java index 0a2a739e1..de32457fe 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java @@ -63,8 +63,8 @@ public class TraceModuleProvider extends ModuleProvider { listenerManager.add(new ServiceMappingSpanListener.Factory()); listenerManager.add(new SegmentSpanListener.Factory()); - GRPCHandlerRegister grpcHandlerRegister = getManager().find(CoreModule.NAME).getService(GRPCHandlerRegister.class); - JettyHandlerRegister jettyHandlerRegister = getManager().find(CoreModule.NAME).getService(JettyHandlerRegister.class); + GRPCHandlerRegister grpcHandlerRegister = getManager().find(CoreModule.NAME).provider().getService(GRPCHandlerRegister.class); + JettyHandlerRegister jettyHandlerRegister = getManager().find(CoreModule.NAME).provider().getService(JettyHandlerRegister.class); try { SegmentParse.Producer segmentProducer = new SegmentParse.Producer(getManager(), listenerManager); grpcHandlerRegister.addHandler(new TraceSegmentServiceHandler(segmentProducer)); diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java index e5434aee9..305878a95 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/endpoint/MultiScopesSpanListener.java @@ -56,12 +56,12 @@ public class MultiScopesSpanListener implements EntrySpanListener, ExitSpanListe private long minuteTimeBucket; private MultiScopesSpanListener(ModuleManager moduleManager) { - this.sourceReceiver = moduleManager.find(CoreModule.NAME).getService(SourceReceiver.class); + this.sourceReceiver = moduleManager.find(CoreModule.NAME).provider().getService(SourceReceiver.class); this.entrySourceBuilders = new LinkedList<>(); this.exitSourceBuilders = new LinkedList<>(); - this.instanceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class); - this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); - this.endpointInventoryCache = moduleManager.find(CoreModule.NAME).getService(EndpointInventoryCache.class); + this.instanceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInstanceInventoryCache.class); + this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); + this.endpointInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class); } @Override public boolean containsPoint(Point point) { diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/segment/SegmentSpanListener.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/segment/SegmentSpanListener.java index 5cf3c0b93..08bd30524 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/segment/SegmentSpanListener.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/segment/SegmentSpanListener.java @@ -42,8 +42,8 @@ public class SegmentSpanListener implements FirstSpanListener, EntrySpanListener private int firstEndpointId = 0; private SegmentSpanListener(ModuleManager moduleManager) { - this.sourceReceiver = moduleManager.find(CoreModule.NAME).getService(SourceReceiver.class); - this.serviceNameCacheService = moduleManager.find(CoreModule.NAME).getService(EndpointInventoryCache.class); + this.sourceReceiver = moduleManager.find(CoreModule.NAME).provider().getService(SourceReceiver.class); + this.serviceNameCacheService = moduleManager.find(CoreModule.NAME).provider().getService(EndpointInventoryCache.class); } @Override public boolean containsPoint(Point point) { diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/service/ServiceMappingSpanListener.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/service/ServiceMappingSpanListener.java index a6ca9eed4..d67d2a270 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/service/ServiceMappingSpanListener.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/listener/service/ServiceMappingSpanListener.java @@ -41,8 +41,8 @@ public class ServiceMappingSpanListener implements EntrySpanListener { private List serviceMappings = new LinkedList<>(); private ServiceMappingSpanListener(ModuleManager moduleManager) { - this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInventoryCache.class); - this.serviceInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IServiceInventoryRegister.class); + this.serviceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInventoryCache.class); + this.serviceInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IServiceInventoryRegister.class); } @Override public boolean containsPoint(Point point) { diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/ReferenceIdExchanger.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/ReferenceIdExchanger.java index 3fd93ea76..7169ea30c 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/ReferenceIdExchanger.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/ReferenceIdExchanger.java @@ -47,9 +47,9 @@ public class ReferenceIdExchanger implements IdExchanger { } private ReferenceIdExchanger(ModuleManager moduleManager) { - this.endpointInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IEndpointInventoryRegister.class); - this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME).getService(INetworkAddressInventoryRegister.class); - this.serviceInstanceInventoryCache = moduleManager.find(CoreModule.NAME).getService(ServiceInstanceInventoryCache.class); + this.endpointInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IEndpointInventoryRegister.class); + this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(INetworkAddressInventoryRegister.class); + this.serviceInstanceInventoryCache = moduleManager.find(CoreModule.NAME).provider().getService(ServiceInstanceInventoryCache.class); } @Override public boolean exchange(ReferenceDecorator standardBuilder, int serviceId) { diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanIdExchanger.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanIdExchanger.java index b19d9e637..7e7f6a13d 100644 --- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanIdExchanger.java +++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/parser/standardization/SpanIdExchanger.java @@ -47,9 +47,9 @@ public class SpanIdExchanger implements IdExchanger { } private SpanIdExchanger(ModuleManager moduleManager) { - this.endpointInventoryRegister = moduleManager.find(CoreModule.NAME).getService(IEndpointInventoryRegister.class); - this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME).getService(INetworkAddressInventoryRegister.class); - this.componentLibraryCatalogService = moduleManager.find(CoreModule.NAME).getService(IComponentLibraryCatalogService.class); + this.endpointInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(IEndpointInventoryRegister.class); + this.networkAddressInventoryRegister = moduleManager.find(CoreModule.NAME).provider().getService(INetworkAddressInventoryRegister.class); + this.componentLibraryCatalogService = moduleManager.find(CoreModule.NAME).provider().getService(IComponentLibraryCatalogService.class); } @Override public boolean exchange(SpanDecorator standardBuilder, int serviceId) { diff --git a/oap-server/server-starter/src/main/java/org/apache/skywalking/oap/server/starter/OAPServerStartUp.java b/oap-server/server-starter/src/main/java/org/apache/skywalking/oap/server/starter/OAPServerStartUp.java index 8caf80bda..3f8f29de6 100644 --- a/oap-server/server-starter/src/main/java/org/apache/skywalking/oap/server/starter/OAPServerStartUp.java +++ b/oap-server/server-starter/src/main/java/org/apache/skywalking/oap/server/starter/OAPServerStartUp.java @@ -19,8 +19,7 @@ package org.apache.skywalking.oap.server.starter; import org.apache.skywalking.oap.server.library.module.*; -import org.apache.skywalking.oap.server.starter.config.ApplicationConfigLoader; -import org.apache.skywalking.oap.server.starter.config.ConfigFileNotFoundException; +import org.apache.skywalking.oap.server.starter.config.*; import org.slf4j.*; /** diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java index c6c52df6d..8677afd45 100644 --- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java +++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java @@ -37,11 +37,8 @@ import org.apache.skywalking.oap.server.core.storage.query.ITopologyQueryDAO; import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO; import org.apache.skywalking.oap.server.library.client.ClientException; import org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient; -import org.apache.skywalking.oap.server.library.module.ModuleConfig; +import org.apache.skywalking.oap.server.library.module.*; import org.apache.skywalking.oap.server.library.module.ModuleDefine; -import org.apache.skywalking.oap.server.library.module.ModuleProvider; -import org.apache.skywalking.oap.server.library.module.ModuleStartException; -import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2AggregationQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2AlarmQueryDAO; import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2BatchDAO; diff --git a/oap-server/server-testing/pom.xml b/oap-server/server-testing/pom.xml new file mode 100644 index 000000000..f20f18d30 --- /dev/null +++ b/oap-server/server-testing/pom.xml @@ -0,0 +1,40 @@ + + + + + + oap-server + org.apache.skywalking + 6.0.0-beta-SNAPSHOT + + 4.0.0 + + server-testing + jar + + + + org.apache.skywalking + library-module + ${project.version} + + + \ No newline at end of file diff --git a/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleDefineTesting.java b/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleDefineTesting.java new file mode 100644 index 000000000..53ebee46d --- /dev/null +++ b/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleDefineTesting.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.testing.module; + +import org.apache.skywalking.oap.server.library.module.*; + +/** + * @author peng-yongsheng + */ +public class ModuleDefineTesting implements ModuleProviderHolder { + + private final ModuleProviderTesting moduleProvider; + + public ModuleDefineTesting() { + this.moduleProvider = new ModuleProviderTesting(); + } + + @Override public ModuleServiceHolder provider() { + return moduleProvider; + } +} diff --git a/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleManagerTesting.java b/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleManagerTesting.java new file mode 100644 index 000000000..313800384 --- /dev/null +++ b/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleManagerTesting.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.testing.module; + +import java.util.*; +import org.apache.skywalking.oap.server.library.module.*; + +/** + * @author peng-yongsheng + */ +public class ModuleManagerTesting implements ModuleDefineHolder { + + private final Map modules = new HashMap<>(); + + @Override public boolean has(String moduleName) { + return false; + } + + @Override public ModuleProviderHolder find(String moduleName) throws ModuleNotFoundRuntimeException { + return modules.get(moduleName); + } + + public void put(String moduleName, ModuleProviderHolder moduleProviderHolder) { + modules.put(moduleName, moduleProviderHolder); + } +} diff --git a/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleProviderTesting.java b/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleProviderTesting.java new file mode 100644 index 000000000..29fe3bce1 --- /dev/null +++ b/oap-server/server-testing/src/main/java/org/apache/skywalking/oap/server/testing/module/ModuleProviderTesting.java @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.testing.module; + +import java.util.*; +import org.apache.skywalking.oap.server.library.module.*; + +/** + * @author peng-yongsheng + */ +public class ModuleProviderTesting implements ModuleServiceHolder { + + private final Map, Service> services = new HashMap<>(); + + @Override public void registerServiceImplementation(Class serviceType, + Service service) throws ServiceNotProvidedException { + if (serviceType.isInstance(service)) { + this.services.put(serviceType, service); + } else { + throw new ServiceNotProvidedException(serviceType + " is not implemented by " + service); + } + } + + @Override public T getService(Class serviceType) throws ServiceNotProvidedException { + return (T)services.get(serviceType); + } +} diff --git a/oap-server/server-testing/src/test/java/org/apache/skywalking/oap/server/testing/module/ModuleManagerTestCase.java b/oap-server/server-testing/src/test/java/org/apache/skywalking/oap/server/testing/module/ModuleManagerTestCase.java new file mode 100644 index 000000000..1a673e3a2 --- /dev/null +++ b/oap-server/server-testing/src/test/java/org/apache/skywalking/oap/server/testing/module/ModuleManagerTestCase.java @@ -0,0 +1,54 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.oap.server.testing.module; + +import org.apache.skywalking.oap.server.library.module.Service; +import org.junit.*; + +/** + * @author peng-yongsheng + */ +public class ModuleManagerTestCase { + + @Test + public void test() { + String moduleName = "test"; + + ModuleManagerTesting moduleManager = new ModuleManagerTesting(); + + ModuleDefineTesting moduleDefine = new ModuleDefineTesting(); + moduleManager.put(moduleName, moduleDefine); + + Assert.assertEquals(moduleDefine, moduleManager.find(moduleName)); + + TestServiceImpl testService = new TestServiceImpl(); + moduleDefine.provider().registerServiceImplementation(TestService.class, testService); + + TestService service = moduleManager.find(moduleName).provider().getService(TestService.class); + Assert.assertEquals(testService, service); + } + + interface TestService extends Service { + + } + + class TestServiceImpl implements TestService { + + } +} diff --git a/oap-server/server-testing/src/test/resources/log4j2.xml b/oap-server/server-testing/src/test/resources/log4j2.xml new file mode 100644 index 000000000..41512643c --- /dev/null +++ b/oap-server/server-testing/src/test/resources/log4j2.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + +