From 50c14dd04d504314e17f384ab67a7ff61d9c3e05 Mon Sep 17 00:00:00 2001
From: peng-yongsheng <8082209@qq.com>
Date: Sun, 29 Oct 2017 21:12:36 +0800
Subject: [PATCH] Naming module and zookeeper provider in cluster module test
successful.
---
apm-collector/apm-collector-boot/pom.xml | 9 ++++
.../src/main/resources/application.yml | 10 ++--
.../apm/collector/cluster/ClusterModule.java | 3 +-
.../redis/ClusterModuleRedisProvider.java | 2 -
.../ClusterModuleStandaloneProvider.java | 2 -
.../ClusterModuleZookeeperProvider.java | 3 --
.../zookeeper/ClusterZKDataMonitor.java | 5 +-
...ZookeeperModuleRegistrationGetService.java | 31 ------------
.../collector/server/jetty/JettyServer.java | 4 ++
.../main/resources/application-default.yml | 10 ++--
.../apm/collector/naming/NamingModule.java | 5 +-
.../NamingHandlerRegisterService.java} | 8 ++--
.../collector-naming-jetty-provider/pom.xml | 12 +----
.../jetty/NamingModuleJettyProvider.java | 39 +++++++--------
.../jetty/handler/AgentGRPCNamingHandler.java | 48 -------------------
.../handler/AgentJettyNamingHandler.java | 47 ------------------
.../NamingJettyHandlerRegisterService.java} | 19 +++++---
apm-collector/apm-collector-naming/pom.xml | 10 ++++
.../collector-ui-jetty-provider/pom.xml | 5 ++
.../ui/jetty/UIModuleJettyProvider.java | 17 ++++++-
.../handler/naming}/UIJettyNamingHandler.java | 14 ++++--
.../naming/UIJettyNamingListener.java} | 23 ++++++---
22 files changed, 122 insertions(+), 204 deletions(-)
delete mode 100644 apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/service/ZookeeperModuleRegistrationGetService.java
rename apm-collector/{apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/service/ModuleRegistrationGetService.java => apm-collector-naming/collector-naming-define/src/main/java/org/skywalking/apm/collector/naming/service/NamingHandlerRegisterService.java} (78%)
delete mode 100644 apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/AgentGRPCNamingHandler.java
delete mode 100644 apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/AgentJettyNamingHandler.java
rename apm-collector/{apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegistrationGetService.java => apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/service/NamingJettyHandlerRegisterService.java} (56%)
rename apm-collector/{apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler => apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/naming}/UIJettyNamingHandler.java (79%)
rename apm-collector/{apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegistrationGetService.java => apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/naming/UIJettyNamingListener.java} (54%)
diff --git a/apm-collector/apm-collector-boot/pom.xml b/apm-collector/apm-collector-boot/pom.xml
index eb8dcd9f76..203f41651e 100644
--- a/apm-collector/apm-collector-boot/pom.xml
+++ b/apm-collector/apm-collector-boot/pom.xml
@@ -72,10 +72,19 @@
${project.version}
+
+
+ org.skywalking
+ collector-naming-jetty-provider
+ ${project.version}
+
+
+
org.skywalking
collector-ui-jetty-provider
${project.version}
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-boot/src/main/resources/application.yml b/apm-collector/apm-collector-boot/src/main/resources/application.yml
index fa6855ba0f..b7d1af13f5 100644
--- a/apm-collector/apm-collector-boot/src/main/resources/application.yml
+++ b/apm-collector/apm-collector-boot/src/main/resources/application.yml
@@ -2,11 +2,11 @@ cluster:
zookeeper:
hostPort: localhost:2181
sessionTimeout: 100000
-#agent_server:
-# jetty:
-# host: localhost
-# port: 10800
-# context_path: /
+naming:
+ jetty:
+ host: localhost
+ port: 10800
+ context_path: /
#agent_stream:
# grpc:
# host: localhost
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java
index 30a2df87b0..97ab7fedf0 100644
--- a/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java
+++ b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java
@@ -20,7 +20,6 @@ package org.skywalking.apm.collector.cluster;
import org.skywalking.apm.collector.cluster.service.ModuleListenerService;
import org.skywalking.apm.collector.cluster.service.ModuleRegisterService;
-import org.skywalking.apm.collector.cluster.service.ModuleRegistrationGetService;
import org.skywalking.apm.collector.core.module.Module;
import org.skywalking.apm.collector.core.module.Service;
@@ -36,6 +35,6 @@ public class ClusterModule extends Module {
}
@Override public Class extends Service>[] services() {
- return new Class[] {ModuleListenerService.class, ModuleRegisterService.class, ModuleRegistrationGetService.class};
+ return new Class[] {ModuleListenerService.class, ModuleRegisterService.class};
}
}
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterModuleRedisProvider.java b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterModuleRedisProvider.java
index de7c9ee493..90c342fcd4 100644
--- a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterModuleRedisProvider.java
+++ b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterModuleRedisProvider.java
@@ -21,7 +21,6 @@ package org.skywalking.apm.collector.cluster.redis;
import java.util.Properties;
import org.skywalking.apm.collector.cluster.ClusterModule;
import org.skywalking.apm.collector.cluster.redis.service.RedisModuleRegisterService;
-import org.skywalking.apm.collector.cluster.redis.service.RedisModuleRegistrationGetService;
import org.skywalking.apm.collector.cluster.service.ModuleRegisterService;
import org.skywalking.apm.collector.core.module.Module;
import org.skywalking.apm.collector.core.module.ModuleProvider;
@@ -42,7 +41,6 @@ public class ClusterModuleRedisProvider extends ModuleProvider {
@Override public void prepare(Properties config) throws ServiceNotProvidedException {
this.registerServiceImplementation(ModuleRegisterService.class, new RedisModuleRegisterService());
- this.registerServiceImplementation(ModuleRegisterService.class, new RedisModuleRegistrationGetService());
}
@Override public void start(Properties config) throws ServiceNotProvidedException {
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterModuleStandaloneProvider.java b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterModuleStandaloneProvider.java
index 5cf77c26f8..9b3f07fd94 100644
--- a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterModuleStandaloneProvider.java
+++ b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterModuleStandaloneProvider.java
@@ -22,7 +22,6 @@ import java.util.Properties;
import org.skywalking.apm.collector.cluster.ClusterModule;
import org.skywalking.apm.collector.cluster.service.ModuleRegisterService;
import org.skywalking.apm.collector.cluster.standalone.service.StandaloneModuleRegisterService;
-import org.skywalking.apm.collector.cluster.standalone.service.StandaloneModuleRegistrationGetService;
import org.skywalking.apm.collector.core.module.Module;
import org.skywalking.apm.collector.core.module.ModuleProvider;
import org.skywalking.apm.collector.core.module.ServiceNotProvidedException;
@@ -42,7 +41,6 @@ public class ClusterModuleStandaloneProvider extends ModuleProvider {
@Override public void prepare(Properties config) throws ServiceNotProvidedException {
this.registerServiceImplementation(ModuleRegisterService.class, new StandaloneModuleRegisterService());
- this.registerServiceImplementation(ModuleRegisterService.class, new StandaloneModuleRegistrationGetService());
}
@Override public void start(Properties config) throws ServiceNotProvidedException {
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZookeeperProvider.java b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZookeeperProvider.java
index 658291556a..c4cfb68cff 100644
--- a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZookeeperProvider.java
+++ b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZookeeperProvider.java
@@ -24,10 +24,8 @@ import org.skywalking.apm.collector.client.zookeeper.ZookeeperClientException;
import org.skywalking.apm.collector.cluster.ClusterModule;
import org.skywalking.apm.collector.cluster.service.ModuleListenerService;
import org.skywalking.apm.collector.cluster.service.ModuleRegisterService;
-import org.skywalking.apm.collector.cluster.service.ModuleRegistrationGetService;
import org.skywalking.apm.collector.cluster.zookeeper.service.ZookeeperModuleListenerService;
import org.skywalking.apm.collector.cluster.zookeeper.service.ZookeeperModuleRegisterService;
-import org.skywalking.apm.collector.cluster.zookeeper.service.ZookeeperModuleRegistrationGetService;
import org.skywalking.apm.collector.core.CollectorException;
import org.skywalking.apm.collector.core.UnexpectedException;
import org.skywalking.apm.collector.core.module.Module;
@@ -67,7 +65,6 @@ public class ClusterModuleZookeeperProvider extends ModuleProvider {
this.registerServiceImplementation(ModuleListenerService.class, new ZookeeperModuleListenerService(dataMonitor));
this.registerServiceImplementation(ModuleRegisterService.class, new ZookeeperModuleRegisterService(dataMonitor));
- this.registerServiceImplementation(ModuleRegistrationGetService.class, new ZookeeperModuleRegistrationGetService());
}
@Override public void start(Properties config) throws ServiceNotProvidedException {
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKDataMonitor.java b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKDataMonitor.java
index 5c7c47db66..87c21d8098 100644
--- a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKDataMonitor.java
+++ b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterZKDataMonitor.java
@@ -33,7 +33,6 @@ import org.skywalking.apm.collector.client.Client;
import org.skywalking.apm.collector.client.ClientException;
import org.skywalking.apm.collector.client.zookeeper.ZookeeperClient;
import org.skywalking.apm.collector.client.zookeeper.ZookeeperClientException;
-import org.skywalking.apm.collector.client.zookeeper.util.PathUtils;
import org.skywalking.apm.collector.cluster.ClusterModuleListener;
import org.skywalking.apm.collector.cluster.ClusterNodeExistException;
import org.skywalking.apm.collector.cluster.DataMonitor;
@@ -130,7 +129,7 @@ public class ClusterZKDataMonitor implements DataMonitor, Watcher {
}
@Override public void addListener(ClusterModuleListener listener) {
- String path = PathUtils.convertKey2Path(listener.path());
+ String path = BASE_CATALOG + listener.path();
logger.info("listener path: {}", path);
listeners.put(path, listener);
}
@@ -140,7 +139,7 @@ public class ClusterZKDataMonitor implements DataMonitor, Watcher {
}
@Override public ClusterModuleListener getListener(String path) {
- path = PathUtils.convertKey2Path(path);
+ path = BASE_CATALOG + path;
return listeners.get(path);
}
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/service/ZookeeperModuleRegistrationGetService.java b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/service/ZookeeperModuleRegistrationGetService.java
deleted file mode 100644
index 852b76e6c7..0000000000
--- a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/service/ZookeeperModuleRegistrationGetService.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright 2017, OpenSkywalking Organization All rights reserved.
- *
- * Licensed 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.
- *
- * Project repository: https://github.com/OpenSkywalking/skywalking
- */
-
-package org.skywalking.apm.collector.cluster.zookeeper.service;
-
-import java.util.Set;
-import org.skywalking.apm.collector.cluster.service.ModuleRegistrationGetService;
-
-/**
- * @author peng-yongsheng
- */
-public class ZookeeperModuleRegistrationGetService implements ModuleRegistrationGetService {
- @Override public Set get(String path) {
- return null;
- }
-}
diff --git a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServer.java b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServer.java
index fa9c63ba19..6f8a5c2e94 100644
--- a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServer.java
+++ b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServer.java
@@ -22,6 +22,7 @@ import java.net.InetSocketAddress;
import javax.servlet.http.HttpServlet;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.servlet.ServletMapping;
import org.skywalking.apm.collector.server.Server;
import org.skywalking.apm.collector.server.ServerException;
import org.skywalking.apm.collector.server.ServerHandler;
@@ -73,6 +74,9 @@ public class JettyServer implements Server {
@Override public void start() throws ServerException {
try {
+ for (ServletMapping servletMapping : servletContextHandler.getServletHandler().getServletMappings()) {
+ logger.info("jetty servlet mappings: {} register by {}", servletMapping.getPathSpecs(), servletMapping.getServletName());
+ }
server.start();
} catch (Exception e) {
throw new JettyServerException(e.getMessage(), e);
diff --git a/apm-collector/apm-collector-core/src/main/resources/application-default.yml b/apm-collector/apm-collector-core/src/main/resources/application-default.yml
index dfe95482dc..176be726b7 100644
--- a/apm-collector/apm-collector-core/src/main/resources/application-default.yml
+++ b/apm-collector/apm-collector-core/src/main/resources/application-default.yml
@@ -2,11 +2,11 @@ cluster:
h2:
hostPort: localhost:2181
sessionTimeout: 100000
-#agent_server:
-# jetty:
-# host: localhost
-# port: 10800
-# context_path: /
+naming:
+ jetty:
+ host: localhost
+ port: 10800
+ context_path: /
#agent_stream:
# grpc:
# host: localhost
diff --git a/apm-collector/apm-collector-naming/collector-naming-define/src/main/java/org/skywalking/apm/collector/naming/NamingModule.java b/apm-collector/apm-collector-naming/collector-naming-define/src/main/java/org/skywalking/apm/collector/naming/NamingModule.java
index 460ca0ad84..1116d94eba 100644
--- a/apm-collector/apm-collector-naming/collector-naming-define/src/main/java/org/skywalking/apm/collector/naming/NamingModule.java
+++ b/apm-collector/apm-collector-naming/collector-naming-define/src/main/java/org/skywalking/apm/collector/naming/NamingModule.java
@@ -20,19 +20,20 @@ package org.skywalking.apm.collector.naming;
import org.skywalking.apm.collector.core.module.Module;
import org.skywalking.apm.collector.core.module.Service;
+import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService;
/**
* @author peng-yongsheng
*/
public class NamingModule extends Module {
- public static final String NAME = "Naming";
+ public static final String NAME = "naming";
@Override public String name() {
return NAME;
}
@Override public Class extends Service>[] services() {
- return new Class[0];
+ return new Class[] {NamingHandlerRegisterService.class};
}
}
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/service/ModuleRegistrationGetService.java b/apm-collector/apm-collector-naming/collector-naming-define/src/main/java/org/skywalking/apm/collector/naming/service/NamingHandlerRegisterService.java
similarity index 78%
rename from apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/service/ModuleRegistrationGetService.java
rename to apm-collector/apm-collector-naming/collector-naming-define/src/main/java/org/skywalking/apm/collector/naming/service/NamingHandlerRegisterService.java
index 6577ed310c..4384321bb4 100644
--- a/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/service/ModuleRegistrationGetService.java
+++ b/apm-collector/apm-collector-naming/collector-naming-define/src/main/java/org/skywalking/apm/collector/naming/service/NamingHandlerRegisterService.java
@@ -16,14 +16,14 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.cluster.service;
+package org.skywalking.apm.collector.naming.service;
-import java.util.Set;
import org.skywalking.apm.collector.core.module.Service;
+import org.skywalking.apm.collector.server.ServerHandler;
/**
* @author peng-yongsheng
*/
-public interface ModuleRegistrationGetService extends Service {
- Set get(String path);
+public interface NamingHandlerRegisterService extends Service {
+ void register(ServerHandler namingHandler);
}
diff --git a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/pom.xml b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/pom.xml
index 5f77c1dedb..4bae8bbced 100644
--- a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/pom.xml
+++ b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/pom.xml
@@ -38,17 +38,7 @@
org.skywalking
- collector-cluster-define
- ${project.version}
-
-
- org.skywalking
- collector-server-manager-define
- ${project.version}
-
-
- org.skywalking
- server-component
+ collector-jetty-manager-define
${project.version}
diff --git a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java
index 5580a25a8d..7d2be4f79a 100644
--- a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java
+++ b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java
@@ -18,20 +18,21 @@
package org.skywalking.apm.collector.naming.jetty;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Properties;
import org.skywalking.apm.collector.cluster.ClusterModule;
import org.skywalking.apm.collector.core.module.Module;
import org.skywalking.apm.collector.core.module.ModuleNotFoundException;
import org.skywalking.apm.collector.core.module.ModuleProvider;
import org.skywalking.apm.collector.core.module.ServiceNotProvidedException;
+import org.skywalking.apm.collector.jetty.manager.JettyManagerModule;
+import org.skywalking.apm.collector.jetty.manager.service.JettyManagerService;
import org.skywalking.apm.collector.naming.NamingModule;
-import org.skywalking.apm.collector.naming.jetty.handler.AgentGRPCNamingHandler;
-import org.skywalking.apm.collector.naming.jetty.handler.AgentJettyNamingHandler;
-import org.skywalking.apm.collector.naming.jetty.handler.UIJettyNamingHandler;
+import org.skywalking.apm.collector.naming.jetty.service.NamingJettyHandlerRegisterService;
+import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService;
import org.skywalking.apm.collector.server.Server;
-import org.skywalking.apm.collector.server.manager.ServerManagerModule;
-import org.skywalking.apm.collector.server.manager.service.JettyServerConfig;
-import org.skywalking.apm.collector.server.manager.service.JettyServerManagerService;
+import org.skywalking.apm.collector.server.ServerHandler;
/**
* @author peng-yongsheng
@@ -41,9 +42,10 @@ public class NamingModuleJettyProvider extends ModuleProvider {
private static final String HOST = "host";
private static final String PORT = "port";
private static final String CONTEXT_PATH = "context_path";
+ private final List handlers = new ArrayList<>();
@Override public String name() {
- return "Jetty";
+ return "jetty";
}
@Override public Class extends Module> module() {
@@ -51,33 +53,28 @@ public class NamingModuleJettyProvider extends ModuleProvider {
}
@Override public void prepare(Properties config) throws ServiceNotProvidedException {
+ this.registerServiceImplementation(NamingHandlerRegisterService.class, new NamingJettyHandlerRegisterService(handlers));
+ }
+
+ @Override public void start(Properties config) throws ServiceNotProvidedException {
String host = config.getProperty(HOST);
- String port = config.getProperty(PORT);
+ Integer port = (Integer)config.get(PORT);
String contextPath = config.getProperty(CONTEXT_PATH);
- JettyServerConfig serverConfig = new JettyServerConfig(host, Integer.valueOf(port), contextPath);
try {
- JettyServerManagerService managerService = getManager().find(ServerManagerModule.NAME).getService(JettyServerManagerService.class);
- Server jettyServer = managerService.getElseCreateServer(serverConfig);
- jettyServer.addHandler(new AgentGRPCNamingHandler());
- jettyServer.addHandler(new AgentJettyNamingHandler());
- jettyServer.addHandler(new UIJettyNamingHandler());
-
-// ModuleRegistrationGetService registrationGetService = getManager().find(ClusterModule.NAME).getService(ModuleRegistrationGetService.class);
+ JettyManagerService managerService = getManager().find(JettyManagerModule.NAME).getService(JettyManagerService.class);
+ Server jettyServer = managerService.getElseCreateServer(host, port, contextPath);
+ handlers.forEach(jettyServer::addHandler);
} catch (ModuleNotFoundException e) {
throw new ServiceNotProvidedException(e.getMessage());
}
}
- @Override public void start(Properties config) throws ServiceNotProvidedException {
-
- }
-
@Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
}
@Override public String[] requiredModules() {
- return new String[] {ServerManagerModule.NAME, ClusterModule.NAME};
+ return new String[] {JettyManagerModule.NAME, ClusterModule.NAME};
}
}
diff --git a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/AgentGRPCNamingHandler.java b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/AgentGRPCNamingHandler.java
deleted file mode 100644
index 746945c3ff..0000000000
--- a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/AgentGRPCNamingHandler.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright 2017, OpenSkywalking Organization All rights reserved.
- *
- * Licensed 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.
- *
- * Project repository: https://github.com/OpenSkywalking/skywalking
- */
-
-package org.skywalking.apm.collector.naming.jetty.handler;
-
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import javax.servlet.http.HttpServletRequest;
-import org.skywalking.apm.collector.server.jetty.ArgumentsParseException;
-import org.skywalking.apm.collector.server.jetty.JettyHandler;
-
-/**
- * @author peng-yongsheng
- */
-public class AgentGRPCNamingHandler extends JettyHandler {
-
- @Override public String pathSpec() {
- return "/agentstream/grpc";
- }
-
- @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException {
-// ModuleManager
-// ClusterModuleRegistrationReader reader = CollectorContextHelper.INSTANCE.getClusterModuleContext().getReader();
-// Set servers = reader.read(AgentStreamGRPCDataListener.PATH);
- JsonArray serverArray = new JsonArray();
-// servers.forEach(serverArray::add);
- return serverArray;
- }
-
- @Override protected JsonElement doPost(HttpServletRequest req) throws ArgumentsParseException {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/AgentJettyNamingHandler.java b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/AgentJettyNamingHandler.java
deleted file mode 100644
index 6470335d25..0000000000
--- a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/AgentJettyNamingHandler.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2017, OpenSkywalking Organization All rights reserved.
- *
- * Licensed 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.
- *
- * Project repository: https://github.com/OpenSkywalking/skywalking
- */
-
-package org.skywalking.apm.collector.naming.jetty.handler;
-
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import javax.servlet.http.HttpServletRequest;
-import org.skywalking.apm.collector.server.jetty.ArgumentsParseException;
-import org.skywalking.apm.collector.server.jetty.JettyHandler;
-
-/**
- * @author peng-yongsheng
- */
-public class AgentJettyNamingHandler extends JettyHandler {
-
- @Override public String pathSpec() {
- return "/agentstream/jetty";
- }
-
- @Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException {
-// ClusterModuleRegistrationReader reader = CollectorContextHelper.INSTANCE.getClusterModuleContext().getReader();
-// Set servers = reader.read(AgentStreamJettyDataListener.PATH);
- JsonArray serverArray = new JsonArray();
-// servers.forEach(serverArray::add);
- return serverArray;
- }
-
- @Override protected JsonElement doPost(HttpServletRequest req) throws ArgumentsParseException {
- throw new UnsupportedOperationException();
- }
-}
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegistrationGetService.java b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/service/NamingJettyHandlerRegisterService.java
similarity index 56%
rename from apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegistrationGetService.java
rename to apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/service/NamingJettyHandlerRegisterService.java
index 5dd3edc712..d3b4134b7c 100644
--- a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegistrationGetService.java
+++ b/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/service/NamingJettyHandlerRegisterService.java
@@ -16,17 +16,24 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.cluster.standalone.service;
+package org.skywalking.apm.collector.naming.jetty.service;
-import java.util.Set;
-import org.skywalking.apm.collector.cluster.service.ModuleRegistrationGetService;
+import java.util.List;
+import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService;
+import org.skywalking.apm.collector.server.ServerHandler;
/**
* @author peng-yongsheng
*/
-public class StandaloneModuleRegistrationGetService implements ModuleRegistrationGetService {
+public class NamingJettyHandlerRegisterService implements NamingHandlerRegisterService {
- @Override public Set get(String path) {
- return null;
+ private final List handlers;
+
+ public NamingJettyHandlerRegisterService(List handlers) {
+ this.handlers = handlers;
+ }
+
+ @Override public void register(ServerHandler namingHandler) {
+ handlers.add(namingHandler);
}
}
diff --git a/apm-collector/apm-collector-naming/pom.xml b/apm-collector/apm-collector-naming/pom.xml
index 4762a9e86d..32543586b0 100644
--- a/apm-collector/apm-collector-naming/pom.xml
+++ b/apm-collector/apm-collector-naming/pom.xml
@@ -22,5 +22,15 @@
apm-collector-core
${project.version}
+
+ org.skywalking
+ collector-cluster-define
+ ${project.version}
+
+
+ org.skywalking
+ server-component
+ ${project.version}
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/pom.xml b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/pom.xml
index 2dda893673..f390e6cdd0 100644
--- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/pom.xml
+++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/pom.xml
@@ -46,5 +46,10 @@
collector-jetty-manager-define
${project.version}
+
+ org.skywalking
+ collector-naming-define
+ ${project.version}
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/UIModuleJettyProvider.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/UIModuleJettyProvider.java
index 238b80fa9f..7ec1c23bb2 100644
--- a/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/UIModuleJettyProvider.java
+++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/UIModuleJettyProvider.java
@@ -20,6 +20,7 @@ package org.skywalking.apm.collector.ui.jetty;
import java.util.Properties;
import org.skywalking.apm.collector.cluster.ClusterModule;
+import org.skywalking.apm.collector.cluster.service.ModuleListenerService;
import org.skywalking.apm.collector.cluster.service.ModuleRegisterService;
import org.skywalking.apm.collector.core.module.Module;
import org.skywalking.apm.collector.core.module.ModuleNotFoundException;
@@ -27,21 +28,26 @@ import org.skywalking.apm.collector.core.module.ModuleProvider;
import org.skywalking.apm.collector.core.module.ServiceNotProvidedException;
import org.skywalking.apm.collector.jetty.manager.JettyManagerModule;
import org.skywalking.apm.collector.jetty.manager.service.JettyManagerService;
+import org.skywalking.apm.collector.naming.NamingModule;
+import org.skywalking.apm.collector.naming.service.NamingHandlerRegisterService;
import org.skywalking.apm.collector.server.Server;
import org.skywalking.apm.collector.ui.UIModule;
import org.skywalking.apm.collector.ui.jetty.handler.application.ApplicationsGetHandler;
+import org.skywalking.apm.collector.ui.jetty.handler.naming.UIJettyNamingHandler;
+import org.skywalking.apm.collector.ui.jetty.handler.naming.UIJettyNamingListener;
/**
* @author peng-yongsheng
*/
public class UIModuleJettyProvider extends ModuleProvider {
+ public static final String NAME = "jetty";
private static final String HOST = "host";
private static final String PORT = "port";
private static final String CONTEXT_PATH = "context_path";
@Override public String name() {
- return "jetty";
+ return NAME;
}
@Override public Class extends Module> module() {
@@ -62,6 +68,13 @@ public class UIModuleJettyProvider extends ModuleProvider {
ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class);
moduleRegisterService.register(UIModule.NAME, this.name(), new UIModuleRegistration(host, port, contextPath));
+
+ UIJettyNamingListener namingListener = new UIJettyNamingListener();
+ ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class);
+ moduleListenerService.addListener(namingListener);
+
+ NamingHandlerRegisterService namingHandlerRegisterService = getManager().find(NamingModule.NAME).getService(NamingHandlerRegisterService.class);
+ namingHandlerRegisterService.register(new UIJettyNamingHandler(namingListener));
} catch (ModuleNotFoundException e) {
throw new ServiceNotProvidedException(e.getMessage());
}
@@ -72,6 +85,6 @@ public class UIModuleJettyProvider extends ModuleProvider {
}
@Override public String[] requiredModules() {
- return new String[] {ClusterModule.NAME, JettyManagerModule.NAME};
+ return new String[] {ClusterModule.NAME, JettyManagerModule.NAME, NamingModule.NAME};
}
}
diff --git a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/UIJettyNamingHandler.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/naming/UIJettyNamingHandler.java
similarity index 79%
rename from apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/UIJettyNamingHandler.java
rename to apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/naming/UIJettyNamingHandler.java
index 2171b477ca..7c9c40f6a9 100644
--- a/apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/handler/UIJettyNamingHandler.java
+++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/naming/UIJettyNamingHandler.java
@@ -16,10 +16,11 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.naming.jetty.handler;
+package org.skywalking.apm.collector.ui.jetty.handler.naming;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
+import java.util.Set;
import javax.servlet.http.HttpServletRequest;
import org.skywalking.apm.collector.server.jetty.ArgumentsParseException;
import org.skywalking.apm.collector.server.jetty.JettyHandler;
@@ -29,15 +30,20 @@ import org.skywalking.apm.collector.server.jetty.JettyHandler;
*/
public class UIJettyNamingHandler extends JettyHandler {
+ private final UIJettyNamingListener namingListener;
+
+ public UIJettyNamingHandler(UIJettyNamingListener namingListener) {
+ this.namingListener = namingListener;
+ }
+
@Override public String pathSpec() {
return "/ui/jetty";
}
@Override protected JsonElement doGet(HttpServletRequest req) throws ArgumentsParseException {
-// ClusterModuleRegistrationReader reader = CollectorContextHelper.INSTANCE.getClusterModuleContext().getReader();
-// Set servers = reader.read(UIJettyDataListener.PATH);
+ Set servers = namingListener.getAddresses();
JsonArray serverArray = new JsonArray();
-// servers.forEach(serverArray::add);
+ servers.forEach(serverArray::add);
return serverArray;
}
diff --git a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegistrationGetService.java b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/naming/UIJettyNamingListener.java
similarity index 54%
rename from apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegistrationGetService.java
rename to apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/naming/UIJettyNamingListener.java
index 1428291b95..4ba20cc7cc 100644
--- a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegistrationGetService.java
+++ b/apm-collector/apm-collector-ui/collector-ui-jetty-provider/src/main/java/org/skywalking/apm/collector/ui/jetty/handler/naming/UIJettyNamingListener.java
@@ -16,17 +16,28 @@
* Project repository: https://github.com/OpenSkywalking/skywalking
*/
-package org.skywalking.apm.collector.cluster.redis.service;
+package org.skywalking.apm.collector.ui.jetty.handler.naming;
-import java.util.Set;
-import org.skywalking.apm.collector.cluster.service.ModuleRegistrationGetService;
+import org.skywalking.apm.collector.cluster.ClusterModuleListener;
+import org.skywalking.apm.collector.ui.UIModule;
+import org.skywalking.apm.collector.ui.jetty.UIModuleJettyProvider;
/**
* @author peng-yongsheng
*/
-public class RedisModuleRegistrationGetService implements ModuleRegistrationGetService {
+public class UIJettyNamingListener extends ClusterModuleListener {
+
+ public static final String PATH = "/" + UIModule.NAME + "/" + UIModuleJettyProvider.NAME;
+
+ @Override public String path() {
+ return PATH;
+ }
+
+ @Override public void serverJoinNotify(String serverAddress) {
+
+ }
+
+ @Override public void serverQuitNotify(String serverAddress) {
- @Override public Set get(String path) {
- return null;
}
}
--
GitLab