diff --git a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/ServerHolder.java b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/ServerHolder.java deleted file mode 100644 index a613a49ab..000000000 --- a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/ServerHolder.java +++ /dev/null @@ -1,72 +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.server; - -import java.util.LinkedList; -import java.util.List; -import org.skywalking.apm.collector.core.util.CollectionUtils; -import org.skywalking.apm.collector.core.util.ObjectUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author peng-yongsheng - */ -public class ServerHolder { - - private final Logger logger = LoggerFactory.getLogger(ServerHolder.class); - - private List servers; - - public ServerHolder() { - servers = new LinkedList<>(); - } - - public void holdServer(Server newServer, List handlers) throws ServerException { - if (ObjectUtils.isEmpty(newServer) || CollectionUtils.isEmpty(handlers)) { - return; - } - - boolean isNewServer = true; - for (Server server : servers) { - if (server.hostPort().equals(newServer.hostPort()) && server.serverClassify().equals(newServer.serverClassify())) { - isNewServer = false; - addHandler(handlers, server); - } - } - if (isNewServer) { - newServer.initialize(); - servers.add(newServer); - addHandler(handlers, newServer); - } - } - - private void addHandler(List handlers, Server server) { - if (CollectionUtils.isNotEmpty(handlers)) { - handlers.forEach(handler -> { - server.addHandler(handler); - logger.debug("add handler into server: {}, handler name: {}", server.hostPort(), handler.getClass().getName()); - }); - } - } - - public List getServers() { - return servers; - } -} diff --git a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCHandler.java b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCHandler.java index b4ab728b9..0f2c228dc 100644 --- a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCHandler.java +++ b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/grpc/GRPCHandler.java @@ -18,10 +18,10 @@ package org.skywalking.apm.collector.server.grpc; -import org.skywalking.apm.collector.core.framework.Handler; +import org.skywalking.apm.collector.server.ServerHandler; /** * @author peng-yongsheng */ -public interface GRPCHandler extends Handler { +public interface GRPCHandler extends ServerHandler { } diff --git a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyHandler.java b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyHandler.java index 1b8c22f48..36608ded3 100644 --- a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyHandler.java +++ b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyHandler.java @@ -30,13 +30,13 @@ import javax.servlet.ServletResponse; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.skywalking.apm.collector.core.framework.Handler; import org.skywalking.apm.collector.core.util.ObjectUtils; +import org.skywalking.apm.collector.server.ServerHandler; /** * @author peng-yongsheng */ -public abstract class JettyHandler extends HttpServlet implements Handler { +public abstract class JettyHandler extends HttpServlet implements ServerHandler { public abstract String pathSpec(); 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 95d9c5db9..fa9c63ba1 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,9 +22,9 @@ import java.net.InetSocketAddress; import javax.servlet.http.HttpServlet; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; -import org.skywalking.apm.collector.core.framework.Handler; -import org.skywalking.apm.collector.core.server.Server; -import org.skywalking.apm.collector.core.server.ServerException; +import org.skywalking.apm.collector.server.Server; +import org.skywalking.apm.collector.server.ServerException; +import org.skywalking.apm.collector.server.ServerHandler; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -65,7 +65,7 @@ public class JettyServer implements Server { server.setHandler(servletContextHandler); } - @Override public void addHandler(Handler handler) { + @Override public void addHandler(ServerHandler handler) { ServletHolder servletHolder = new ServletHolder(); servletHolder.setServlet((HttpServlet)handler); servletContextHandler.addServlet(servletHolder, ((JettyHandler)handler).pathSpec()); diff --git a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServerException.java b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServerException.java index 538a4bcf8..a7ff6a3bf 100644 --- a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServerException.java +++ b/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/jetty/JettyServerException.java @@ -18,7 +18,7 @@ package org.skywalking.apm.collector.server.jetty; -import org.skywalking.apm.collector.core.server.ServerException; +import org.skywalking.apm.collector.server.ServerException; /** * @author peng-yongsheng diff --git a/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/pom.xml b/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/pom.xml index e3c5a9d9d..3c08f7b63 100644 --- a/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/pom.xml +++ b/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/pom.xml @@ -30,4 +30,11 @@ collector-grpc-manager-provider jar + + + org.skywalking + collector-server-manager-define + ${project.version} + + \ No newline at end of file diff --git a/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/ServerManagerModuleGRPCProvider.java b/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/ServerManagerModuleGRPCProvider.java index 6f04c14f6..2554f269c 100644 --- a/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/ServerManagerModuleGRPCProvider.java +++ b/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/ServerManagerModuleGRPCProvider.java @@ -22,6 +22,9 @@ import java.util.Properties; import org.skywalking.apm.collector.core.module.Module; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; +import org.skywalking.apm.collector.server.manager.ServerManagerModule; +import org.skywalking.apm.collector.server.manager.grpc.service.GRPCServerService; +import org.skywalking.apm.collector.server.manager.service.GRPCServerManagerService; /** * @author peng-yongsheng @@ -29,15 +32,15 @@ import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; public class ServerManagerModuleGRPCProvider extends ModuleProvider { @Override public String name() { - return null; + return "Google_RPC"; } @Override public Class module() { - return null; + return ServerManagerModule.class; } @Override public void prepare(Properties config) throws ServiceNotProvidedException { - + this.registerServiceImplementation(GRPCServerManagerService.class, new GRPCServerService()); } @Override public void init(Properties config) throws ServiceNotProvidedException { diff --git a/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/service/GRPCServerService.java b/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/service/GRPCServerService.java new file mode 100644 index 000000000..c2aa632a9 --- /dev/null +++ b/apm-collector/apm-collector-server-manager/collector-grpc-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/grpc/service/GRPCServerService.java @@ -0,0 +1,45 @@ +/* + * 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.server.manager.grpc.service; + +import java.util.HashMap; +import java.util.Map; +import org.skywalking.apm.collector.server.Server; +import org.skywalking.apm.collector.server.grpc.GRPCServer; +import org.skywalking.apm.collector.server.manager.service.GRPCServerConfig; +import org.skywalking.apm.collector.server.manager.service.GRPCServerManagerService; + +/** + * @author peng-yongsheng + */ +public class GRPCServerService implements GRPCServerManagerService { + + private Map servers = new HashMap<>(); + + @Override public Server getElseCreateServer(GRPCServerConfig config) { + String id = config.getHost() + String.valueOf(config.getPort()); + if (servers.containsKey(id)) { + return servers.get(id); + } else { + GRPCServer server = new GRPCServer(config.getHost(), config.getPort()); + servers.put(id, server); + return server; + } + } +} diff --git a/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/pom.xml b/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/pom.xml index 3737eff36..38f62bf09 100644 --- a/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/pom.xml +++ b/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/pom.xml @@ -30,4 +30,11 @@ collector-jetty-manager-provider jar + + + org.skywalking + collector-server-manager-define + ${project.version} + + \ No newline at end of file diff --git a/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/ServerManagerModuleJettyProvider.java b/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/ServerManagerModuleJettyProvider.java index 2fb9c3a87..f1780a99d 100644 --- a/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/ServerManagerModuleJettyProvider.java +++ b/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/ServerManagerModuleJettyProvider.java @@ -22,6 +22,9 @@ import java.util.Properties; import org.skywalking.apm.collector.core.module.Module; import org.skywalking.apm.collector.core.module.ModuleProvider; import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; +import org.skywalking.apm.collector.server.manager.ServerManagerModule; +import org.skywalking.apm.collector.server.manager.jetty.service.JettyServerService; +import org.skywalking.apm.collector.server.manager.service.JettyServerManagerService; /** * @author peng-yongsheng @@ -29,15 +32,15 @@ import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; public class ServerManagerModuleJettyProvider extends ModuleProvider { @Override public String name() { - return null; + return "Jetty"; } @Override public Class module() { - return null; + return ServerManagerModule.class; } @Override public void prepare(Properties config) throws ServiceNotProvidedException { - + this.registerServiceImplementation(JettyServerManagerService.class, new JettyServerService()); } @Override public void init(Properties config) throws ServiceNotProvidedException { diff --git a/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/service/JettyServerService.java b/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/service/JettyServerService.java new file mode 100644 index 000000000..a2f912b08 --- /dev/null +++ b/apm-collector/apm-collector-server-manager/collector-jetty-manager-provider/src/main/java/org/skywalking/apm/collector/server/manager/jetty/service/JettyServerService.java @@ -0,0 +1,45 @@ +/* + * 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.server.manager.jetty.service; + +import java.util.HashMap; +import java.util.Map; +import org.skywalking.apm.collector.server.Server; +import org.skywalking.apm.collector.server.jetty.JettyServer; +import org.skywalking.apm.collector.server.manager.service.JettyServerConfig; +import org.skywalking.apm.collector.server.manager.service.JettyServerManagerService; + +/** + * @author peng-yongsheng + */ +public class JettyServerService implements JettyServerManagerService { + + private Map servers = new HashMap<>(); + + @Override public Server getElseCreateServer(JettyServerConfig config) { + String id = config.getHost() + String.valueOf(config.getPort()); + if (servers.containsKey(id)) { + return servers.get(id); + } else { + JettyServer server = new JettyServer(config.getHost(), config.getPort(), config.getContextPath()); + servers.put(id, server); + return server; + } + } +} diff --git a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/ServerManagerModule.java b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/ServerManagerModule.java index f5da9b121..affdd437a 100644 --- a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/ServerManagerModule.java +++ b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/ServerManagerModule.java @@ -19,6 +19,8 @@ package org.skywalking.apm.collector.server.manager; import org.skywalking.apm.collector.core.module.Module; +import org.skywalking.apm.collector.server.manager.service.GRPCServerManagerService; +import org.skywalking.apm.collector.server.manager.service.JettyServerManagerService; /** * @author peng-yongsheng @@ -32,6 +34,6 @@ public class ServerManagerModule extends Module { } @Override public Class[] services() { - return new Class[0]; + return new Class[] {GRPCServerManagerService.class, JettyServerManagerService.class}; } } diff --git a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/GRPCServerConfig.java b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/GRPCServerConfig.java new file mode 100644 index 000000000..4b9d02fd4 --- /dev/null +++ b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/GRPCServerConfig.java @@ -0,0 +1,29 @@ +/* + * 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.server.manager.service; + +/** + * @author peng-yongsheng + */ +public class GRPCServerConfig extends ServerConfig { + + public GRPCServerConfig(String host, int port) { + super(host, port); + } +} diff --git a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/ServerModuleDefine.java b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/GRPCServerManagerService.java similarity index 81% rename from apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/ServerModuleDefine.java rename to apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/GRPCServerManagerService.java index 84cf8b1f2..5a8e8950b 100644 --- a/apm-collector/apm-collector-component/server-component/src/main/java/org/skywalking/apm/collector/server/ServerModuleDefine.java +++ b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/GRPCServerManagerService.java @@ -16,12 +16,10 @@ * Project repository: https://github.com/OpenSkywalking/skywalking */ -package org.skywalking.apm.collector.server; - -import org.skywalking.apm.collector.core.module.ModuleDefine; +package org.skywalking.apm.collector.server.manager.service; /** * @author peng-yongsheng */ -public abstract class ServerModuleDefine extends ModuleDefine { +public interface GRPCServerManagerService extends ManagerService { } diff --git a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/JettyServerConfig.java b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/JettyServerConfig.java new file mode 100644 index 000000000..35a33f311 --- /dev/null +++ b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/JettyServerConfig.java @@ -0,0 +1,36 @@ +/* + * 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.server.manager.service; + +/** + * @author peng-yongsheng + */ +public class JettyServerConfig extends ServerConfig { + + private final String contextPath; + + public JettyServerConfig(String host, int port, String contextPath) { + super(host, port); + this.contextPath = contextPath; + } + + public final String getContextPath() { + return contextPath; + } +} diff --git a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/JettyServerManagerService.java b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/JettyServerManagerService.java new file mode 100644 index 000000000..21f0d32ad --- /dev/null +++ b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/JettyServerManagerService.java @@ -0,0 +1,25 @@ +/* + * 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.server.manager.service; + +/** + * @author peng-yongsheng + */ +public interface JettyServerManagerService extends ManagerService { +} diff --git a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/ManagerService.java b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/ManagerService.java new file mode 100644 index 000000000..e1f18e4bf --- /dev/null +++ b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/ManagerService.java @@ -0,0 +1,29 @@ +/* + * 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.server.manager.service; + +import org.skywalking.apm.collector.core.module.Service; +import org.skywalking.apm.collector.server.Server; + +/** + * @author peng-yongsheng + */ +public interface ManagerService extends Service { + Server getElseCreateServer(T config); +} diff --git a/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/ServerConfig.java b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/ServerConfig.java new file mode 100644 index 000000000..23966d0be --- /dev/null +++ b/apm-collector/apm-collector-server-manager/collector-server-manager-define/src/main/java/org/skywalking/apm/collector/server/manager/service/ServerConfig.java @@ -0,0 +1,40 @@ +/* + * 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.server.manager.service; + +/** + * @author peng-yongsheng + */ +public abstract class ServerConfig { + private final String host; + private final int port; + + public ServerConfig(String host, int port) { + this.host = host; + this.port = port; + } + + public final String getHost() { + return host; + } + + public final int getPort() { + return port; + } +}