From 147fba96715dd5ab97f74db8ce60c26efa8a0c44 Mon Sep 17 00:00:00 2001 From: peng-yongsheng <8082209@qq.com> Date: Thu, 26 Oct 2017 21:43:34 +0800 Subject: [PATCH] Define cluster module. --- .../collector-cluster-define/pom.xml | 33 ++++++++++++ .../apm/collector/cluster/ClusterModule.java | 36 +++++++++++++ .../service/ModuleRegisterService.java | 27 ++++++++++ ...kywalking.apm.collector.core.module.Module | 19 +++++++ .../collector-cluster-redis-provider/pom.xml | 40 ++++++++++++++ .../redis/ClusterModuleRedisProvider.java | 53 ++++++++++++++++++ .../service/RedisModuleRegisterService.java | 27 ++++++++++ ...g.apm.collector.core.module.ModuleProvider | 19 +++++++ .../pom.xml | 40 ++++++++++++++ .../ClusterModuleStandaloneProvider.java | 53 ++++++++++++++++++ .../StandaloneModuleRegisterService.java | 27 ++++++++++ ...g.apm.collector.core.module.ModuleProvider | 19 +++++++ .../pom.xml | 40 ++++++++++++++ .../zookeeper/ClusterModuleZKProvider.java | 54 +++++++++++++++++++ .../service/ZKModuleRegisterService.java | 27 ++++++++++ ...g.apm.collector.core.module.ModuleProvider | 19 +++++++ apm-collector/apm-collector-cluster/pom.xml | 15 +++++- .../apm/collector/core/module/Module.java | 6 +-- .../collector/core/module/ModuleProvider.java | 4 +- 19 files changed, 552 insertions(+), 6 deletions(-) create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-define/pom.xml create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.java create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/service/ModuleRegisterService.java create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-redis-provider/pom.xml create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterModuleRedisProvider.java create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegisterService.java create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/pom.xml create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterModuleStandaloneProvider.java create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegisterService.java create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/pom.xml create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZKProvider.java create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/service/ZKModuleRegisterService.java create mode 100644 apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider diff --git a/apm-collector/apm-collector-cluster/collector-cluster-define/pom.xml b/apm-collector/apm-collector-cluster/collector-cluster-define/pom.xml new file mode 100644 index 000000000..582b5f533 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-define/pom.xml @@ -0,0 +1,33 @@ + + + + + + apm-collector-cluster + org.skywalking + 3.2.3-2017 + + 4.0.0 + + collector-cluster-define + jar + + \ No newline at end of file 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 new file mode 100644 index 000000000..f6963c24d --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/ClusterModule.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.cluster; + +import org.skywalking.apm.collector.core.module.Module; +import org.skywalking.apm.collector.core.module.Service; + +/** + * @author peng-yongsheng + */ +public class ClusterModule extends Module { + + @Override public String name() { + return "Cluster"; + } + + @Override public Class[] services() { + return new Class[0]; + } +} diff --git a/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/service/ModuleRegisterService.java b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/service/ModuleRegisterService.java new file mode 100644 index 000000000..e03c01144 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/java/org/skywalking/apm/collector/cluster/service/ModuleRegisterService.java @@ -0,0 +1,27 @@ +/* + * 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.service; + +import org.skywalking.apm.collector.core.module.Service; + +/** + * @author peng-yongsheng + */ +public interface ModuleRegisterService extends Service { +} diff --git a/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module new file mode 100644 index 000000000..f70f73083 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.Module @@ -0,0 +1,19 @@ +# +# 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 +# + +org.skywalking.apm.collector.cluster.ClusterModule \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/pom.xml b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/pom.xml new file mode 100644 index 000000000..7392f98cf --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/pom.xml @@ -0,0 +1,40 @@ + + + + + + apm-collector-cluster + org.skywalking + 3.2.3-2017 + + 4.0.0 + + collector-cluster-redis-provider + jar + + + + org.skywalking + collector-cluster-define + ${project.version} + + + \ No newline at end of file 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 new file mode 100644 index 000000000..bc02b1db9 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/ClusterModuleRedisProvider.java @@ -0,0 +1,53 @@ +/* + * 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.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.service.ModuleRegisterService; +import org.skywalking.apm.collector.core.module.Module; +import org.skywalking.apm.collector.core.module.ModuleProvider; +import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; + +/** + * @author peng-yongsheng + */ +public class ClusterModuleRedisProvider extends ModuleProvider { + + @Override public String name() { + return "redis"; + } + + @Override public Class module() { + return ClusterModule.class; + } + + @Override public void prepare(Properties config) throws ServiceNotProvidedException { + this.registerServiceImplementation(ModuleRegisterService.class, new RedisModuleRegisterService()); + } + + @Override public void init(Properties config) throws ServiceNotProvidedException { + + } + + @Override public String[] requiredModules() { + return new String[0]; + } +} diff --git a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegisterService.java b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegisterService.java new file mode 100644 index 000000000..80a0ffb12 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/java/org/skywalking/apm/collector/cluster/redis/service/RedisModuleRegisterService.java @@ -0,0 +1,27 @@ +/* + * 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.redis.service; + +import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; + +/** + * @author peng-yongsheng + */ +public class RedisModuleRegisterService implements ModuleRegisterService { +} diff --git a/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider new file mode 100644 index 000000000..f844abe11 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-redis-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider @@ -0,0 +1,19 @@ +# +# 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 +# + +org.skywalking.apm.collector.cluster.redis.ClusterModuleRedisProvider \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/pom.xml b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/pom.xml new file mode 100644 index 000000000..6ef4e4076 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/pom.xml @@ -0,0 +1,40 @@ + + + + + + apm-collector-cluster + org.skywalking + 3.2.3-2017 + + 4.0.0 + + collector-cluster-standalone-provider + jar + + + + org.skywalking + collector-cluster-define + ${project.version} + + + \ No newline at end of file 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 new file mode 100644 index 000000000..dd9d47830 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/ClusterModuleStandaloneProvider.java @@ -0,0 +1,53 @@ +/* + * 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.standalone; + +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.core.module.Module; +import org.skywalking.apm.collector.core.module.ModuleProvider; +import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; + +/** + * @author peng-yongsheng + */ +public class ClusterModuleStandaloneProvider extends ModuleProvider { + + @Override public String name() { + return "standalone"; + } + + @Override public Class module() { + return ClusterModule.class; + } + + @Override public void prepare(Properties config) throws ServiceNotProvidedException { + this.registerServiceImplementation(ModuleRegisterService.class, new StandaloneModuleRegisterService()); + } + + @Override public void init(Properties config) throws ServiceNotProvidedException { + + } + + @Override public String[] requiredModules() { + return new String[0]; + } +} diff --git a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegisterService.java b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegisterService.java new file mode 100644 index 000000000..2a43d850f --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/java/org/skywalking/apm/collector/cluster/standalone/service/StandaloneModuleRegisterService.java @@ -0,0 +1,27 @@ +/* + * 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.standalone.service; + +import org.skywalking.apm.collector.cluster.service.ModuleRegisterService; + +/** + * @author peng-yongsheng + */ +public class StandaloneModuleRegisterService implements ModuleRegisterService { +} diff --git a/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider new file mode 100644 index 000000000..214befe0f --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-standalone-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider @@ -0,0 +1,19 @@ +# +# 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 +# + +org.skywalking.apm.collector.cluster.standalone.ClusterModuleStandaloneProvider \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/pom.xml b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/pom.xml new file mode 100644 index 000000000..ce8d169bc --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/pom.xml @@ -0,0 +1,40 @@ + + + + + + apm-collector-cluster + org.skywalking + 3.2.3-2017 + + 4.0.0 + + collector-cluster-zookeeper-provider + jar + + + + org.skywalking + collector-cluster-define + ${project.version} + + + \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZKProvider.java b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZKProvider.java new file mode 100644 index 000000000..918d8873b --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/ClusterModuleZKProvider.java @@ -0,0 +1,54 @@ +/* + * 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; + +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.zookeeper.service.ZKModuleRegisterService; +import org.skywalking.apm.collector.core.module.Module; +import org.skywalking.apm.collector.core.module.ModuleProvider; +import org.skywalking.apm.collector.core.module.ServiceNotProvidedException; + +/** + * @author peng-yongsheng + */ +public class ClusterModuleZKProvider extends ModuleProvider { + + @Override public String name() { + return "zookeeper"; + } + + @Override public Class module() { + return ClusterModule.class; + } + + @Override public void prepare(Properties config) throws ServiceNotProvidedException { + this.registerServiceImplementation(ModuleRegisterService.class, new ZKModuleRegisterService()); + } + + @Override public void init(Properties config) throws ServiceNotProvidedException { + + } + + @Override public String[] requiredModules() { + return new String[0]; + } + +} diff --git a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/service/ZKModuleRegisterService.java b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/service/ZKModuleRegisterService.java new file mode 100644 index 000000000..9acc916df --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/java/org/skywalking/apm/collector/cluster/zookeeper/service/ZKModuleRegisterService.java @@ -0,0 +1,27 @@ +/* + * 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 org.skywalking.apm.collector.cluster.service.ModuleRegisterService; + +/** + * @author peng-yongsheng + */ +public class ZKModuleRegisterService implements ModuleRegisterService { +} diff --git a/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider new file mode 100644 index 000000000..cecbd2ea4 --- /dev/null +++ b/apm-collector/apm-collector-cluster/collector-cluster-zookeeper-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider @@ -0,0 +1,19 @@ +# +# 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 +# + +org.skywalking.apm.collector.cluster.zookeeper.ClusterModuleZKProvider \ No newline at end of file diff --git a/apm-collector/apm-collector-cluster/pom.xml b/apm-collector/apm-collector-cluster/pom.xml index 5b169089d..24c360ace 100644 --- a/apm-collector/apm-collector-cluster/pom.xml +++ b/apm-collector/apm-collector-cluster/pom.xml @@ -10,6 +10,19 @@ 4.0.0 apm-collector-cluster - jar + pom + + collector-cluster-define + collector-cluster-zookeeper-provider + collector-cluster-redis-provider + collector-cluster-standalone-provider + + + + org.skywalking + apm-collector-core + ${project.version} + + \ No newline at end of file diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java index 29f823c6d..0dbd2a1db 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java @@ -25,7 +25,7 @@ import java.util.ServiceLoader; /** * A module definition. * - * @author wu-sheng + * @author wu-sheng, peng-yongsheng */ public abstract class Module { private LinkedList loadedProviders = new LinkedList<>(); @@ -97,7 +97,7 @@ public abstract class Module { /** * @return providers of this module */ - public List providers() throws ProviderNotFoundException { + public final List providers() throws ProviderNotFoundException { if (loadedProviders.size() == 0) { throw new ProviderNotFoundException("no provider exists."); } @@ -105,7 +105,7 @@ public abstract class Module { return loadedProviders; } - public ModuleProvider provider() throws ProviderNotFoundException, DuplicateProviderException { + public final ModuleProvider provider() throws ProviderNotFoundException, DuplicateProviderException { if (loadedProviders.size() == 0) { throw new ProviderNotFoundException("no provider exists."); } else if (loadedProviders.size() > 1) { diff --git a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java index 5c3315bdf..8c69fe4ba 100644 --- a/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java +++ b/apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java @@ -27,7 +27,7 @@ import java.util.Properties; * * And each module can have one or more implementation, which depends on `application.yml` * - * @author wu-sheng + * @author wu-sheng, peng-yongsheng */ public abstract class ModuleProvider { protected ModuleManager manager; @@ -80,7 +80,7 @@ public abstract class ModuleProvider { * @param serviceType * @param service */ - protected void registerServiceImplementation(Class serviceType, + protected final void registerServiceImplementation(Class serviceType, Service service) throws ServiceNotProvidedException { if (serviceType.isInstance(service)) { this.services.put(serviceType, service);