adding activator class for messaging and calling terminate of event recievers in de-activation of te bundle
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/ede4990e Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/ede4990e Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/ede4990e Branch: refs/heads/stratos-4.1.x Commit: ede4990efd9f2d50b33c0dd1deaf07e847107466 Parents: 34462ee Author: Isuru Haththotuwa <[email protected]> Authored: Thu Dec 17 23:17:57 2015 +0530 Committer: Isuru Haththotuwa <[email protected]> Committed: Fri Dec 25 16:51:04 2015 +0530 ---------------------------------------------------------------------- ...LoadBalancerCommonTopologyEventReceiver.java | 7 -- .../internal/LoadBalancerServiceComponent.java | 68 +------------------- .../internal/MessagingServiceComponent.java | 66 +++++++++++++++++++ .../status/ClusterStatusEventReceiver.java | 5 ++ .../mapping/DomainMappingEventReceiver.java | 5 ++ 5 files changed, 79 insertions(+), 72 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/ede4990e/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java index 85142e3..93f391f 100644 --- a/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java +++ b/components/org.apache.stratos.load.balancer.common/src/main/java/org/apache/stratos/load/balancer/common/event/receivers/LoadBalancerCommonTopologyEventReceiver.java @@ -59,13 +59,6 @@ public class LoadBalancerCommonTopologyEventReceiver { } } -// public void execute() { -// super.execute(); -// if (log.isInfoEnabled()) { -// log.info("Load balancer topology receiver thread started"); -// } -// } - public void initializeTopology() { if (initialized) { return; http://git-wip-us.apache.org/repos/asf/stratos/blob/ede4990e/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/internal/LoadBalancerServiceComponent.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/internal/LoadBalancerServiceComponent.java b/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/internal/LoadBalancerServiceComponent.java index e7b45f8..65ca89a 100644 --- a/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/internal/LoadBalancerServiceComponent.java +++ b/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/internal/LoadBalancerServiceComponent.java @@ -25,7 +25,6 @@ import org.apache.axis2.engine.AxisConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.stratos.common.services.DistributedObjectProvider; -import org.apache.stratos.common.threading.StratosThreadPool; import org.apache.stratos.load.balancer.common.event.receivers.LoadBalancerCommonApplicationSignUpEventReceiver; import org.apache.stratos.load.balancer.common.statistics.notifier.LoadBalancerStatisticsNotifier; import org.apache.stratos.load.balancer.common.topology.TopologyProvider; @@ -38,7 +37,6 @@ import org.apache.stratos.load.balancer.event.receivers.LoadBalancerDomainMappin import org.apache.stratos.load.balancer.event.receivers.LoadBalancerTopologyEventReceiver; import org.apache.stratos.load.balancer.exception.TenantAwareLoadBalanceEndpointException; import org.apache.stratos.load.balancer.statistics.LoadBalancerStatisticsCollector; -import org.apache.stratos.load.balancer.util.LoadBalancerConstants; import org.apache.stratos.messaging.message.filter.topology.TopologyClusterFilter; import org.apache.stratos.messaging.message.filter.topology.TopologyMemberFilter; import org.apache.stratos.messaging.message.filter.topology.TopologyServiceFilter; @@ -89,7 +87,6 @@ public class LoadBalancerServiceComponent { private static final Log log = LogFactory.getLog(LoadBalancerServiceComponent.class); private boolean activated = false; - //private ThreadPoolExecutor executor; private LoadBalancerTopologyEventReceiver topologyEventReceiver; private TenantEventReceiver tenantEventReceiver; private LoadBalancerDomainMappingEventReceiver domainMappingEventReceiver; @@ -123,11 +120,8 @@ public class LoadBalancerServiceComponent { // Configure topology filters TopologyFilterConfigurator.configure(configuration); - int threadPoolSize = Integer.getInteger(LoadBalancerConstants.LOAD_BALANCER_THREAD_POOL_SIZE_KEY, - LoadBalancerConstants.LOAD_BALANCER_DEFAULT_THREAD_POOL_SIZE); - // executor = StratosThreadPool.getExecutorService(LoadBalancerConstants - // .LOAD_BALANCER_THREAD_POOL_ID, - // ((int)Math.ceil(threadPoolSize/3)), threadPoolSize); +// int threadPoolSize = Integer.getInteger(LoadBalancerConstants.LOAD_BALANCER_THREAD_POOL_SIZE_KEY, +// LoadBalancerConstants.LOAD_BALANCER_DEFAULT_THREAD_POOL_SIZE); TopologyProvider topologyProvider = LoadBalancerConfiguration.getInstance().getTopologyProvider(); if (topologyProvider == null) { @@ -168,16 +162,12 @@ public class LoadBalancerServiceComponent { } private void startDomainMappingEventReceiver( TopologyProvider topologyProvider) { + if (domainMappingEventReceiver != null) { return; } domainMappingEventReceiver = new LoadBalancerDomainMappingEventReceiver(topologyProvider); -// domainMappingEventReceiver.setExecutorService(executor); -// domainMappingEventReceiver.execute(); -// if (log.isInfoEnabled()) { -// log.info("Domain mapping event receiver thread started"); -// } } private void startApplicationSignUpEventReceiver(TopologyProvider topologyProvider) { @@ -186,11 +176,6 @@ public class LoadBalancerServiceComponent { } applicationSignUpEventReceiver = new LoadBalancerCommonApplicationSignUpEventReceiver(topologyProvider); -// applicationSignUpEventReceiver.setExecutorService(executor); -// applicationSignUpEventReceiver.execute(); - if (log.isInfoEnabled()) { - log.info("Application signup event receiver thread started"); - } } private void startTopologyEventReceiver(TopologyProvider topologyProvider) { @@ -199,11 +184,6 @@ public class LoadBalancerServiceComponent { } topologyEventReceiver = new LoadBalancerTopologyEventReceiver(topologyProvider); -// topologyEventReceiver.setExecutorService(executor); -// topologyEventReceiver.execute(); -// if (log.isInfoEnabled()) { -// log.info("Topology receiver thread started"); -// } if (log.isInfoEnabled()) { if (TopologyServiceFilter.getInstance().isActive()) { @@ -224,13 +204,7 @@ public class LoadBalancerServiceComponent { } private void startTenantEventReceiver() { - tenantEventReceiver = TenantEventReceiver.getInstance(); -// tenantEventReceiver.setExecutorService(executor); -// tenantEventReceiver.execute(); - if (log.isInfoEnabled()) { - log.info("Tenant event receiver thread started"); - } } private void startStatisticsNotifier(TopologyProvider topologyProvider) { @@ -256,33 +230,6 @@ public class LoadBalancerServiceComponent { log.warn("An error occurred while removing endpoint deployer", e); } - // Terminate topology receiver -// if (topologyEventReceiver != null) { -// try { -// topologyEventReceiver.terminate(); -// } catch (Exception e) { -// log.warn("An error occurred while terminating topology event receiver", e); -// } -// } - - // Terminate application signup event receiver -// if (applicationSignUpEventReceiver != null) { -// try { -// applicationSignUpEventReceiver.terminate(); -// } catch (Exception e) { -// log.warn("An error occurred while terminating application signup event receiver", e); -// } -// } - - // Terminate domain mapping event receiver -// if (domainMappingEventReceiver != null) { -// try { -// domainMappingEventReceiver.terminate(); -// } catch (Exception e) { -// log.warn("An error occurred while terminating domain mapping event receiver", e); -// } -// } - // Terminate statistics notifier if (statisticsNotifier != null) { try { @@ -291,15 +238,6 @@ public class LoadBalancerServiceComponent { log.warn("An error occurred while terminating health statistics notifier", e); } } - - // Shutdown executor service -// if (executor != null) { -// try { -// executor.shutdownNow(); -// } catch (Exception e) { -// log.warn("An error occurred while shutting down load balancer executor service", e); -// } -// } } /** http://git-wip-us.apache.org/repos/asf/stratos/blob/ede4990e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/internal/MessagingServiceComponent.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/internal/MessagingServiceComponent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/internal/MessagingServiceComponent.java new file mode 100644 index 0000000..c97125b --- /dev/null +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/internal/MessagingServiceComponent.java @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.stratos.messaging.internal; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.stratos.messaging.message.receiver.application.ApplicationsEventReceiver; +import org.apache.stratos.messaging.message.receiver.application.signup.ApplicationSignUpEventReceiver; +import org.apache.stratos.messaging.message.receiver.cluster.status.ClusterStatusEventReceiver; +import org.apache.stratos.messaging.message.receiver.domain.mapping.DomainMappingEventReceiver; +import org.apache.stratos.messaging.message.receiver.health.stat.HealthStatEventReceiver; +import org.apache.stratos.messaging.message.receiver.initializer.InitializerEventReceiver; +import org.apache.stratos.messaging.message.receiver.tenant.TenantEventReceiver; +import org.apache.stratos.messaging.message.receiver.topology.TopologyEventReceiver; +import org.osgi.service.component.ComponentContext; + +/** + * @scr.component name="org.apache.stratos.messaging.internal.MessagingServiceComponent" + * immediate="true" + */ +public class MessagingServiceComponent { + + private static final Log log = LogFactory.getLog(MessagingServiceComponent.class); + + protected void activate(ComponentContext context) { + try { + log.info("Messaging Service bundle activated"); + } catch (Exception e) { + log.error("Could not activate Messaging Service component", e); + } + } + + protected void deactivate(ComponentContext context) { + // deactivate all message receivers + try { + ApplicationSignUpEventReceiver.getInstance().terminate(); + ApplicationsEventReceiver.getInstance().terminate(); + ClusterStatusEventReceiver.getInstance().terminate(); + DomainMappingEventReceiver.getInstance().terminate(); + HealthStatEventReceiver.getInstance().terminate(); + InitializerEventReceiver.getInstance().terminate(); + TenantEventReceiver.getInstance().terminate(); + TopologyEventReceiver.getInstance().terminate(); + log.info("Messaging Service component is deactivated"); + } catch (Exception e) { + log.error("Could not de-activate Messaging Service component", e); + } + } +} http://git-wip-us.apache.org/repos/asf/stratos/blob/ede4990e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/cluster/status/ClusterStatusEventReceiver.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/cluster/status/ClusterStatusEventReceiver.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/cluster/status/ClusterStatusEventReceiver.java index d797305..ecaa758 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/cluster/status/ClusterStatusEventReceiver.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/cluster/status/ClusterStatusEventReceiver.java @@ -86,6 +86,11 @@ public class ClusterStatusEventReceiver extends StratosEventReceiver { } } + public void terminate() { + eventSubscriber.terminate(); + messageDelegator.terminate(); + } + public boolean isSubscribed() { return ((eventSubscriber != null) && (eventSubscriber.isSubscribed())); } http://git-wip-us.apache.org/repos/asf/stratos/blob/ede4990e/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/domain/mapping/DomainMappingEventReceiver.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/domain/mapping/DomainMappingEventReceiver.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/domain/mapping/DomainMappingEventReceiver.java index 7181850..844f19b 100644 --- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/domain/mapping/DomainMappingEventReceiver.java +++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/message/receiver/domain/mapping/DomainMappingEventReceiver.java @@ -64,6 +64,11 @@ public class DomainMappingEventReceiver extends StratosEventReceiver { return instance; } + public void terminate() { + eventSubscriber.terminate(); + messageDelegator.terminate(); + } + private void execute() { try { // Start topic subscriber thread
