You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2013/07/02 08:40:53 UTC
[03/10] committing org.apache.stratos.mediator.autoscale
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java
deleted file mode 100644
index 16f392a..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/endpoint/TenantAwareLoadBalanceEndpoint.java
+++ /dev/null
@@ -1,513 +0,0 @@
-package org.wso2.carbon.lb.endpoint.endpoint;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.util.AXIOMUtil;
-import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.clustering.ClusteringAgent;
-import org.apache.axis2.clustering.Member;
-import org.apache.axis2.clustering.management.GroupManagementAgent;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.http.protocol.HTTP;
-import org.apache.synapse.MessageContext;
-import org.apache.synapse.SynapseConstants;
-import org.apache.synapse.SynapseException;
-import org.apache.synapse.config.xml.endpoints.utils.LoadbalanceAlgorithmFactory;
-import org.apache.synapse.core.LoadBalanceMembershipHandler;
-import org.apache.synapse.core.SynapseEnvironment;
-import org.apache.synapse.core.axis2.Axis2MessageContext;
-import org.apache.synapse.core.axis2.Axis2SynapseEnvironment;
-import org.apache.synapse.endpoints.DynamicLoadbalanceFaultHandler;
-import org.apache.synapse.endpoints.Endpoint;
-import org.apache.synapse.endpoints.algorithms.LoadbalanceAlgorithm;
-import org.apache.synapse.endpoints.dispatch.HttpSessionDispatcher;
-import org.apache.synapse.endpoints.dispatch.SALSessions;
-import org.apache.synapse.endpoints.dispatch.SessionInformation;
-import org.apache.synapse.transport.nhttp.NhttpConstants;
-import org.wso2.carbon.base.MultitenantConstants;
-import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration;
-import org.wso2.carbon.lb.common.conf.util.HostContext;
-import org.wso2.carbon.lb.common.conf.util.TenantDomainContext;
-import org.wso2.carbon.lb.common.util.DomainMapping;
-import org.wso2.carbon.lb.common.group.mgt.*;
-import org.wso2.carbon.lb.common.cache.URLMappingCache;
-import org.wso2.carbon.lb.endpoint.TenantAwareLoadBalanceEndpointException;
-import org.wso2.carbon.lb.endpoint.TenantLoadBalanceMembershipHandler;
-import org.wso2.carbon.lb.endpoint.internal.RegistryManager;
-import org.wso2.carbon.lb.endpoint.util.ConfigHolder;
-
-public class TenantAwareLoadBalanceEndpoint extends org.apache.synapse.endpoints.DynamicLoadbalanceEndpoint implements Serializable {
-
- private static final long serialVersionUID = 1577351815951789938L;
- private static final Log log = LogFactory.getLog(TenantAwareLoadBalanceEndpoint.class);
- /**
- * Axis2 based membership handler which handles members in multiple clustering domains
- */
- private TenantLoadBalanceMembershipHandler tlbMembershipHandler;
-
- /**
- * Key - host name
- * Value - {@link HostContext}
- */
- private Map<String, HostContext> hostContexts = new HashMap<String, HostContext>();
-
- private LoadBalancerConfiguration lbConfig;
-
- /**
- * keep the size of cache which used to keep hostNames of url mapping.
- */
- private URLMappingCache mappingCache;
- private RegistryManager registryManager;
- private int sizeOfCache;
-
- private boolean initialized;
-
- private String algorithm;
- private String configuration;
- private String failOver;
-
- @Override
- public void init(SynapseEnvironment synapseEnvironment) {
- try {
-
- lbConfig = ConfigHolder.getInstance().getLbConfig();
- hostContexts = lbConfig.getHostContextMap();
- sizeOfCache = lbConfig.getLoadBalancerConfig().getSizeOfCache();
- mappingCache = URLMappingCache.getInstance(sizeOfCache);
- setSessionTimeout(lbConfig.getLoadBalancerConfig().getSessionTimeOut());
- setFailover(lbConfig.getLoadBalancerConfig().getFailOver());
-
- } catch (Exception e) {
- String msg = "Failed while reading Load Balancer configuration";
- log.error(msg, e);
- throw new TenantAwareLoadBalanceEndpointException(msg, e);
- }
-
-
- LoadbalanceAlgorithm algorithm = null;
- try {
- OMElement payload = AXIOMUtil.stringToOM(generatePayLoad());
- algorithm =
- LoadbalanceAlgorithmFactory.
- createLoadbalanceAlgorithm(payload, null);
-
- } catch (Exception e) {
- String msg = "Error While creating Load balance algorithm";
- log.error(msg, e);
- throw new SynapseException(msg, e);
- }
-
- if (!initialized) {
- super.init(synapseEnvironment);
- ConfigurationContext cfgCtx =
- ((Axis2SynapseEnvironment) synapseEnvironment).getAxis2ConfigurationContext();
- ClusteringAgent clusteringAgent = cfgCtx.getAxisConfiguration().getClusteringAgent();
- if (clusteringAgent == null) {
- throw new SynapseException("Axis2 ClusteringAgent not defined in axis2.xml");
- }
-
- // Add the Axis2 GroupManagement agents
- if (hostContexts != null) {
- // iterate through each host context
- for (HostContext hostCtxt : hostContexts.values()) {
- // each host can has multiple Tenant Contexts, iterate through them
- for (TenantDomainContext tenantCtxt : hostCtxt.getTenantDomainContexts()) {
-
- String domain = tenantCtxt.getDomain();
- String subDomain = tenantCtxt.getSubDomain();
-
- if (clusteringAgent.getGroupManagementAgent(domain, subDomain) == null) {
- String gmAgentClass = lbConfig.getLoadBalancerConfig().getGroupManagementAgentClass();
- GroupManagementAgent groupManagementAgent;
- if (gmAgentClass != null) {
- try {
- groupManagementAgent = (GroupManagementAgent) Class.forName(gmAgentClass).newInstance();
- } catch (Exception e) {
- String msg = "Cannot instantiate GroupManagementAgent. Class: " + gmAgentClass;
- log.error(msg, e);
- throw new TenantAwareLoadBalanceEndpointException(msg, e);
- }
- } else {
- groupManagementAgent = new SubDomainAwareGroupManagementAgent(subDomain);
- }
- clusteringAgent.addGroupManagementAgent(groupManagementAgent,
- domain, subDomain,-1);
- if (log.isDebugEnabled()) {
- log.debug("Group management agent added to cluster domain: " +
- domain + " and sub domain: " + subDomain);
- }
- }
- }
- }
-
- tlbMembershipHandler =
- new TenantLoadBalanceMembershipHandler(hostContexts,
- algorithm, cfgCtx,
- isClusteringEnabled,
- getName());
-
- // set TenantLoadBalanceMembershipHandler for future reference
- ConfigHolder.getInstance().setTenantLoadBalanceMembershipHandler(tlbMembershipHandler);
- }
-
- // Initialize the SAL Sessions if already has not been initialized.
- SALSessions salSessions = SALSessions.getInstance();
- if (!salSessions.isInitialized()) {
- salSessions.initialize(isClusteringEnabled, cfgCtx);
- }
- setSessionAffinity(true);
- setDispatcher(new HttpSessionDispatcher());
- initialized = true;
- log.info("Tenant Aware Load Balance Endpoint is initialized.");
- }
-
- }
-
- public void setConfiguration(String paramEle) {
- configuration = paramEle;
- }
-
- public void setAlgorithm(String paramEle) {
- this.algorithm = paramEle;
- }
-
- public void setFailOver(String paramEle) {
- this.failOver = paramEle;
- }
-
-
- public String getName() {
- return "tlbEndpoint";
- }
-
- //TODO remove following hard coded element
- private String generatePayLoad() {
- return " <serviceDynamicLoadbalance failover=\"true\"\n" +
- " algorithm=\"org.apache.synapse.endpoints.algorithms.RoundRobin\"" +
- //" configuration=\"$system:loadbalancer.xml\"" +
- "/>";
- }
-
- public LoadBalanceMembershipHandler getLbMembershipHandler() {
- return tlbMembershipHandler;
- }
-
-
- public void send(MessageContext synCtx) {
- /* setCookieHeader(synCtx); */
- Member currentMember = null;
- SessionInformation sessionInformation = null;
- String actualHost = null;
-
- //Gathering required information for domain mapping
- org.apache.axis2.context.MessageContext axis2MessageContext =
- ((Axis2MessageContext) synCtx).getAxis2MessageContext();
- Map<String, String> transportHeaders = (Map<String, String>) axis2MessageContext.
- getProperty(org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS);
- String targetHost = transportHeaders.get(HTTP.TARGET_HOST);
-
- String port = "";
- boolean containsPort = false;
- if (targetHost.contains(":")) {
- containsPort = true;
- port = targetHost.substring(targetHost.indexOf(':') + 1, targetHost.length());
- targetHost = targetHost.substring(0, targetHost.indexOf(':'));
- }
- //Gathering required information for domain mapping done
-
- boolean isValidHost = tlbMembershipHandler.isAValidHostName(targetHost);
- DomainMapping domainMapping = null;
- if(!isValidHost){
- //check if the host is valid, if not valid, execute following code to check whether it is a mapped domain
- domainMapping = mappingCache.getMapping(targetHost);
- if(domainMapping == null){
- registryManager = new RegistryManager();
- domainMapping = registryManager.getMapping(targetHost);
- mappingCache.addValidMapping(targetHost, domainMapping);
- }
- if (domainMapping != null) {
- actualHost = domainMapping.getActualHost();
-
- if(containsPort){
- transportHeaders.put(HTTP.TARGET_HOST, actualHost + ":" + port);
- } else {
- transportHeaders.put(HTTP.TARGET_HOST, actualHost);
- }
- ((Axis2MessageContext) synCtx).getAxis2MessageContext().setProperty("TRANSPORT_HEADERS" , transportHeaders);
-
- } else {
- String msg = "Invalid host name : " + targetHost;
- log.error(msg);
- throw new SynapseException(msg);
- }
- }
-
- if (isSessionAffinityBasedLB()) {
- // first check if this session is associated with a session. if so, get the endpoint
- // associated for that session.
- sessionInformation =
- (SessionInformation) synCtx.getProperty(
- SynapseConstants.PROP_SAL_CURRENT_SESSION_INFORMATION);
-
- currentMember = (Member) synCtx.getProperty(
- SynapseConstants.PROP_SAL_ENDPOINT_CURRENT_MEMBER);
-
- if (sessionInformation == null && currentMember == null) {
- sessionInformation = dispatcher.getSession(synCtx);
- if (sessionInformation != null) {
-
- if (log.isDebugEnabled()) {
- log.debug("Current session id : " + sessionInformation.getId());
- }
-
- currentMember = sessionInformation.getMember();
- synCtx.setProperty(
- SynapseConstants.PROP_SAL_ENDPOINT_CURRENT_MEMBER, currentMember);
- // This is for reliably recovery any session information if while response is getting ,
- // session information has been removed by cleaner.
- // This will not be a cost as session information a not heavy data structure
- synCtx.setProperty(
- SynapseConstants.PROP_SAL_CURRENT_SESSION_INFORMATION, sessionInformation);
- }
- }
-
- }
-
- // Dispatch request the relevant member
-// String targetHost = getTargetHost(synCtx);
- ConfigurationContext configCtx =
- ((Axis2MessageContext) synCtx).getAxis2MessageContext().getConfigurationContext();
-
- if (tlbMembershipHandler.getConfigurationContext() == null) {
- tlbMembershipHandler.setConfigurationContext(configCtx);
- }
-
- if(tlbMembershipHandler.getClusteringAgent() == null) {
- tlbMembershipHandler.setConfigurationContext(configCtx);
- }
-
- TenantDynamicLoadBalanceFaultHandlerImpl faultHandler = new TenantDynamicLoadBalanceFaultHandlerImpl();
- log.debug("************* Actual Host: "+actualHost +" ****** Target Host: "+targetHost);
- faultHandler.setHost(actualHost != null ? actualHost : targetHost);
-
- if (sessionInformation != null && currentMember != null) {
- //send message on current session
- sessionInformation.updateExpiryTime();
- sendToApplicationMember(synCtx, currentMember, faultHandler, false);
- } else {
-// prepare for a new session
- int tenantId = getTenantId(synCtx);
- //check if this is a valid host name registered in ELB
- if(tlbMembershipHandler.isAValidHostName(targetHost)){
- currentMember = tlbMembershipHandler.getNextApplicationMember(targetHost, tenantId);
- if (currentMember == null) {
- String msg = "No application members available";
- log.error(msg);
- throw new SynapseException(msg);
- }
- sendToApplicationMember(synCtx, currentMember, faultHandler, true);
- } else {
- if(domainMapping == null){
- registryManager = new RegistryManager();
- domainMapping = registryManager.getMapping(targetHost);
- mappingCache.addValidMapping(targetHost, domainMapping);
- }
- if(domainMapping != null) {
-
- actualHost = domainMapping.getActualHost();
-
- log.debug("************* Actual Host: "+actualHost +" ****** Target Host: "+targetHost);
- faultHandler.setHost(actualHost != null ? actualHost : targetHost);
-
- if(containsPort){
- transportHeaders.put(HTTP.TARGET_HOST, actualHost + ":" + port);
- } else {
- transportHeaders.put(HTTP.TARGET_HOST, actualHost);
- }
- ((Axis2MessageContext) synCtx).getAxis2MessageContext().setProperty("TRANSPORT_HEADERS" , transportHeaders);
-
- currentMember = tlbMembershipHandler.getNextApplicationMember(actualHost,tenantId);
- sendToApplicationMember(synCtx,currentMember,faultHandler,true);
- }else {
- String msg = "Invalid host name : " + targetHost;
- log.error(msg);
- throw new SynapseException(msg);
- }
- }
- }
- }
-
-
-// public List<HostContext> getHostContexts() {
-// return Collections.unmodifiableList(hostContexts);
-// }
-
- /**
- * This FaultHandler will try to resend the message to another member if an error occurs
- * while sending to some member. This is a failover mechanism
- */
-
- /**
- * @param url to url for target
- * @return tenantID if tenant id available else 0
- */
- private int getTenantId(String url) {
- String servicesPrefix = "/t/";
- if (url != null && url.contains(servicesPrefix)) {
- int domainNameStartIndex =
- url.indexOf(servicesPrefix) + servicesPrefix.length();
- int domainNameEndIndex = url.indexOf('/', domainNameStartIndex);
- String domainName = url.substring(domainNameStartIndex,
- domainNameEndIndex == -1 ? url.length() : domainNameEndIndex);
-
- // return tenant id if domain name is not null
- if (domainName != null) {
- try {
- return ConfigHolder.getInstance().getRealmService().getTenantManager().getTenantId(domainName);
- } catch (org.wso2.carbon.user.api.UserStoreException e) {
- log.error("An error occurred while obtaining the tenant id.", e);
- }
- }
- }
- // return 0 if the domain name is null
- return 0;
- }
-
- private int getTenantId(MessageContext synCtx){
- String url = synCtx.getTo().toString();
- int tenantId = getTenantId(url);
- // tenantId = 0 because domain name was null. May be this is the SSO response
- if(tenantId == 0 && url.contains(MultitenantConstants.TENANT_DOMAIN+"=")){
- // OK,this is the SAML SSO response from the IS
- // e.g url = https://localhost:9444/acs?teantDomain=domain
- String domainName = url.split("=").clone()[1];
- // return tenant id if domain name is not null
- if (domainName != null) {
- try {
- return ConfigHolder.getInstance().getRealmService().getTenantManager().getTenantId(domainName);
- } catch (org.wso2.carbon.user.api.UserStoreException e) {
- log.error("An error occurred while obtaining the tenant id.", e);
- }
- }
- }
- return tenantId;
- }
-
-
- /**
- * This FaultHandler will try to resend the message to another member if an error occurs
- * while sending to some member. This is a failover mechanism
- */
- private class TenantDynamicLoadBalanceFaultHandlerImpl extends DynamicLoadbalanceFaultHandler {
-
- private EndpointReference to;
- private Member currentMember;
- private Endpoint currentEp;
- private String host;
-
- private static final int MAX_RETRY_COUNT = 5;
-
- // ThreadLocal variable to keep track of how many times this fault handler has been
- // called
- private ThreadLocal<Integer> callCount = new ThreadLocal<Integer>() {
- protected Integer initialValue() {
- return 0;
- }
- };
-
- public void setHost(String host) {
- log.debug("Setting host name: "+host);
- this.host = host;
- }
-
- public void setCurrentMember(Member currentMember) {
- this.currentMember = currentMember;
- }
-
- public void setTo(EndpointReference to) {
- this.to = to;
- }
-
- private TenantDynamicLoadBalanceFaultHandlerImpl() {
- }
-
- public void onFault(MessageContext synCtx) {
- if (currentMember == null || to == null) {
- return;
- }
-
- // Prevent infinite retrying to failed members
- callCount.set(callCount.get() + 1);
- if (callCount.get() >= MAX_RETRY_COUNT) {
- log.debug("Retrying to a failed member has stopped.");
- return;
- }
-
- //cleanup endpoint if exists
- if (currentEp != null) {
- currentEp.destroy();
- }
- Integer errorCode = (Integer) synCtx.getProperty(SynapseConstants.ERROR_CODE);
- if (errorCode != null) {
- if (errorCode.equals(NhttpConstants.CONNECTION_FAILED)) {
- currentMember.suspend(10000); // TODO: Make this configurable.
- log.info("Suspended member " + currentMember + " for 10s due to connection failure to that member");
- }
- if (errorCode.equals(NhttpConstants.CONNECTION_FAILED) ||
- errorCode.equals(NhttpConstants.CONNECT_CANCEL) ||
- errorCode.equals(NhttpConstants.CONNECT_TIMEOUT)) {
-
- if (!synCtx.getFaultStack().isEmpty()) {
- synCtx.getFaultStack().pop();
- }
- // Try to resend to another member
- Member newMember = tlbMembershipHandler.getNextApplicationMember(host, getTenantId(synCtx.toString()));
- if (newMember == null || newMember.isSuspended()) {
- String msg = "No application members available having host name : "+host+
- " and tenant id : "+getTenantId(synCtx.toString()+" and which is not suspended.");
- log.error(msg);
- throw new SynapseException(msg);
- }
- synCtx.setTo(to);
- if (isSessionAffinityBasedLB()) {
- // We are sending this message on a new session,
- // hence we need to remove previous session information
- Set pros = synCtx.getPropertyKeySet();
- if (pros != null) {
- pros.remove(SynapseConstants.PROP_SAL_CURRENT_SESSION_INFORMATION);
- }
- }
- try {
- Thread.sleep(1000); // Sleep for sometime before retrying
- } catch (InterruptedException ignored) {
- }
-
- if(synCtx == null || to == null) {
- return;
- }
- log.info("Failed over to " + newMember);
- sendToApplicationMember(synCtx, newMember, this, true);
- } else if (errorCode.equals(NhttpConstants.SND_IO_ERROR_SENDING) ||
- errorCode.equals(NhttpConstants.CONNECTION_CLOSED)) {
- // TODO: Envelope is consumed
- String msg = "Error sending request! Connection to host "+host+
- " might be closed. Error code: "+errorCode;
- log.error(msg);
- throw new SynapseException(msg);
- }
- }
- // We cannot failover since we are using binary relay
- }
-
- public void setCurrentEp(Endpoint currentEp) {
- this.currentEp = currentEp;
- }
- }
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java
deleted file mode 100644
index da25156..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/group/mgt/GroupMgtAgentBuilder.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.wso2.carbon.lb.endpoint.group.mgt;
-
-import org.apache.axis2.clustering.ClusteringAgent;
-import org.apache.axis2.clustering.management.GroupManagementAgent;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.SynapseException;
-import org.wso2.carbon.lb.common.group.mgt.SubDomainAwareGroupManagementAgent;
-import org.wso2.carbon.lb.endpoint.util.ConfigHolder;
-
-/**
- * Responsible for building {@link GroupManagementAgent}s.
- */
-public class GroupMgtAgentBuilder {
-
- private static final Log log = LogFactory.getLog(GroupMgtAgentBuilder.class);
-
- /**
- * Creates a {@link SubDomainAwareGroupManagementAgent} corresponds to the given
- * parameters, if and only if there's no existing agent.
- * @param domain clustering domain.
- * @param subDomain clustering sub domain.
- */
- public static void createGroupMgtAgent(String domain, String subDomain) {
-
- ClusteringAgent clusteringAgent =
- ConfigHolder.getInstance().getAxisConfiguration().getClusteringAgent();
-
- if (clusteringAgent == null) {
- throw new SynapseException("Axis2 Clustering Agent not defined in axis2.xml");
- }
-
- // checks the existence.
- if (clusteringAgent.getGroupManagementAgent(domain, subDomain) == null) {
-
- clusteringAgent.addGroupManagementAgent(new SubDomainAwareGroupManagementAgent(subDomain),
- domain, subDomain,-1);
-
- log.info("Group management agent added to cluster domain: " +
- domain + " and sub domain: " + subDomain);
- }
- }
-
- public static void resetGroupMgtAgent(String domain, String subDomain) {
-
- ClusteringAgent clusteringAgent =
- ConfigHolder.getInstance().getAxisConfiguration().getClusteringAgent();
-
- if (clusteringAgent == null) {
- throw new SynapseException("Axis2 Clustering Agent not defined in axis2.xml");
- }
-
- // checks the existence.
- if (clusteringAgent.getGroupManagementAgent(domain, subDomain) != null) {
-
- clusteringAgent.resetGroupManagementAgent(domain, subDomain);
-
- log.info("Group management agent of cluster domain: " +
- domain + " and sub domain: " + subDomain+" is removed.");
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/internal/LoadBalanceEndpointServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/internal/LoadBalanceEndpointServiceComponent.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/internal/LoadBalanceEndpointServiceComponent.java
deleted file mode 100644
index 7cdd8c8..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/internal/LoadBalanceEndpointServiceComponent.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
- * Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) 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.
- */
-
-package org.wso2.carbon.lb.endpoint.internal;
-
-import org.apache.axis2.deployment.DeploymentEngine;
-import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.Mediator;
-import org.apache.synapse.config.SynapseConfiguration;
-import org.apache.synapse.config.xml.MultiXMLConfigurationBuilder;
-import org.apache.synapse.core.SynapseEnvironment;
-import org.apache.synapse.deployers.SynapseArtifactDeploymentStore;
-import org.apache.synapse.endpoints.Endpoint;
-import org.apache.synapse.mediators.base.SequenceMediator;
-import org.apache.synapse.mediators.builtin.SendMediator;
-import org.apache.synapse.mediators.filters.InMediator;
-import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.cartridge.messages.CreateClusterDomainMessage;
-import org.wso2.carbon.mediation.dependency.mgt.services.DependencyManagementService;
-import org.wso2.carbon.mediation.initializer.ServiceBusConstants;
-import org.wso2.carbon.mediation.initializer.ServiceBusUtils;
-import org.wso2.carbon.mediation.initializer.services.SynapseConfigurationService;
-import org.wso2.carbon.mediation.initializer.services.SynapseEnvironmentService;
-import org.wso2.carbon.mediation.initializer.services.SynapseRegistrationsService;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.core.service.RegistryService;
-import org.wso2.carbon.utils.ConfigurationContextService;
-import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
-import org.wso2.carbon.user.core.service.RealmService;
-import org.wso2.carbon.lb.common.service.LoadBalancerConfigurationService;
-import org.wso2.carbon.lb.endpoint.EndpointDeployer;
-import org.wso2.carbon.lb.endpoint.TenantAwareLoadBalanceEndpointException;
-import org.wso2.carbon.lb.endpoint.builder.TopologySyncher;
-import org.wso2.carbon.lb.endpoint.cluster.manager.ClusterDomainManagerImpl;
-import org.wso2.carbon.lb.endpoint.endpoint.TenantAwareLoadBalanceEndpoint;
-import org.wso2.carbon.lb.endpoint.subscriber.TopologySubscriber;
-import org.wso2.carbon.lb.endpoint.util.ConfigHolder;
-import org.wso2.carbon.lb.endpoint.util.TopologyConstants;
-
-import java.io.File;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @scr.component name="org.wso2.carbon.load.balancer.endpoint" immediate="true"
- * @scr.reference name="configuration.context.service"
- * interface="org.wso2.carbon.utils.ConfigurationContextService" cardinality="1..1"
- * policy="dynamic" bind="setConfigurationContextService" unbind="unsetConfigurationContextService"
- * @scr.reference name="synapse.config.service"
- * interface="org.wso2.carbon.mediation.initializer.services.SynapseConfigurationService"
- * cardinality="1..1" policy="dynamic" bind="setSynapseConfigurationService"
- * unbind="unsetSynapseConfigurationService"
- * @scr.reference name="synapse.env.service"
- * interface="org.wso2.carbon.mediation.initializer.services.SynapseEnvironmentService"
- * cardinality="1..n" policy="dynamic" bind="setSynapseEnvironmentService"
- * unbind="unsetSynapseEnvironmentService"
- * @scr.reference name="registry.service"
- * interface="org.wso2.carbon.registry.core.service.RegistryService"
- * cardinality="1..1" policy="dynamic"
- * bind="setRegistryService" unbind="unsetRegistryService"
- * @scr.reference name="dependency.mgt.service"
- * interface="org.wso2.carbon.mediation.dependency.mgt.services.DependencyManagementService"
- * cardinality="0..1" policy="dynamic"
- * bind="setDependencyManager" unbind="unsetDependencyManager"
- * @scr.reference name="synapse.registrations.service"
- * interface="org.wso2.carbon.mediation.initializer.services.SynapseRegistrationsService"
- * cardinality="1..n" policy="dynamic" bind="setSynapseRegistrationsService"
- * unbind="unsetSynapseRegistrationsService"
- * @scr.reference name="user.realmservice.default"
- * interface="org.wso2.carbon.user.core.service.RealmService"
- * cardinality="1..1" policy="dynamic" bind="setRealmService"
- * unbind="unsetRealmService"
- * @scr.reference name="org.wso2.carbon.lb.common"
- * interface="org.wso2.carbon.lb.common.service.LoadBalancerConfigurationService"
- * cardinality="1..1" policy="dynamic" bind="setLoadBalancerConfigurationService"
- * unbind="unsetLoadBalancerConfigurationService"
- */
-@SuppressWarnings({"UnusedDeclaration", "JavaDoc"})
-public class LoadBalanceEndpointServiceComponent {
-
- private static final Log log = LogFactory.getLog(LoadBalanceEndpointServiceComponent.class);
-
- private boolean activated = false;
-
- protected void activate(ComponentContext ctxt) {
- try {
- SynapseEnvironmentService synEnvService =
- ConfigHolder.getInstance()
- .getSynapseEnvironmentService(MultitenantConstants.SUPER_TENANT_ID);
-
- registerDeployer(ConfigHolder.getInstance().getAxisConfiguration(),
- synEnvService.getSynapseEnvironment());
-
- if (ConfigHolder.getInstance().getConfigCtxt() != null) {
- ConfigHolder
- .getInstance()
- .getConfigCtxt()
- .setNonReplicableProperty(
- CreateClusterDomainMessage.CLUSTER_DOMAIN_MANAGER,
- new ClusterDomainManagerImpl());
- log.debug("Setting property Cluster Domain MANAGER ... ");
-
- }
-
- SynapseEnvironment synapseEnv = synEnvService.getSynapseEnvironment();
-
- /* Registering Tenant Aware Load Balance Endpoint */
-
- // get the main sequence mediator
- SequenceMediator mainSequence =
- (SequenceMediator) synapseEnv.getSynapseConfiguration()
- .getSequence("main");
-
- boolean successfullyRegistered = false;
-
- // iterate through its child mediators
- for (Mediator child : mainSequence.getList()) {
-
- // find the InMediator
- if (child instanceof InMediator) {
-
- for(Mediator inChild : ((InMediator)child).getList()){
-
- // find the SendMediator
- if (inChild instanceof SendMediator) {
-
- SendMediator sendMediator = (SendMediator) inChild;
-
- /* add Tenant Aware LB endpoint */
-
- TenantAwareLoadBalanceEndpoint tenantAwareEp = new TenantAwareLoadBalanceEndpoint();
-
- tenantAwareEp.init(synapseEnv);
-
- sendMediator.setEndpoint(tenantAwareEp);
-
- successfullyRegistered = true;
-
- if (log.isDebugEnabled()) {
- log.debug("Added Tenant Aware Endpoint: " +
- sendMediator.getEndpoint().getName() + "" +
- " to Send Mediator.");
- }
- }
- }
- }
- }
-
- if(!successfullyRegistered){
- String msg = "Failed to register Tenant Aware Load Balance Endpoint in Send Mediator.";
- log.fatal(msg);
- throw new TenantAwareLoadBalanceEndpointException(msg);
- }
-
- if (log.isDebugEnabled()) {
- log.debug("Endpoint Admin bundle is activated ");
- }
-
- if (ConfigHolder.getInstance().getLbConfig().getLoadBalancerConfig().getMbServerUrl() != null) {
-
- // start consumer
- // initialize TopologyBuilder Consumer
- Thread topologyConsumer =
- new Thread(new TopologySyncher(ConfigHolder.getInstance().getSharedTopologyDiffQueue()));
- // start consumer
- topologyConsumer.start();
-
- TopologySubscriber.subscribe(TopologyConstants.TOPIC_NAME);
-
- }
- activated = true;
- } catch (Throwable e) {
- log.error("Failed to activate Endpoint Admin bundle ", e);
- }
- }
-
- protected void deactivate(ComponentContext context) {
- try {
- Set<Map.Entry<Integer, SynapseEnvironmentService>> entrySet =
- ConfigHolder.getInstance().getSynapseEnvironmentServices().entrySet();
- for (Map.Entry<Integer, SynapseEnvironmentService> entry : entrySet) {
- unregisterDeployer(
- entry.getValue().getConfigurationContext().getAxisConfiguration(),
- entry.getValue().getSynapseEnvironment());
- }
- } catch (Exception e) {
- log.warn("Couldn't remove the EndpointDeployer");
- }
- }
-
- /**
- * Un-registers the Endpoint deployer.
- *
- * @param axisConfig AxisConfiguration to which this deployer belongs
- * @param synapseEnvironment SynapseEnvironment to which this deployer belongs
- */
- private void unregisterDeployer(AxisConfiguration axisConfig, SynapseEnvironment synapseEnvironment)
- throws TenantAwareLoadBalanceEndpointException {
- if (axisConfig != null) {
- DeploymentEngine deploymentEngine = (DeploymentEngine) axisConfig.getConfigurator();
- String synapseConfigPath = ServiceBusUtils.getSynapseConfigAbsPath(
- synapseEnvironment.getServerContextInformation());
- String endpointDirPath = synapseConfigPath
- + File.separator + MultiXMLConfigurationBuilder.ENDPOINTS_DIR;
- deploymentEngine.removeDeployer(
- endpointDirPath, ServiceBusConstants.ARTIFACT_EXTENSION);
- }
- }
-
- /**
- * Registers the Endpoint deployer.
- *
- * @param axisConfig AxisConfiguration to which this deployer belongs
- * @param synapseEnvironment SynapseEnvironment to which this deployer belongs
- */
- private void registerDeployer(AxisConfiguration axisConfig, SynapseEnvironment synapseEnvironment)
- throws TenantAwareLoadBalanceEndpointException {
- SynapseConfiguration synCfg = synapseEnvironment.getSynapseConfiguration();
- DeploymentEngine deploymentEngine = (DeploymentEngine) axisConfig.getConfigurator();
- SynapseArtifactDeploymentStore deploymentStore = synCfg.getArtifactDeploymentStore();
-
- String synapseConfigPath = ServiceBusUtils.getSynapseConfigAbsPath(
- synapseEnvironment.getServerContextInformation());
- String endpointDirPath = synapseConfigPath
- + File.separator + MultiXMLConfigurationBuilder.ENDPOINTS_DIR;
-
- for (Endpoint ep : synCfg.getDefinedEndpoints().values()) {
- if (ep.getFileName() != null) {
- deploymentStore.addRestoredArtifact(
- endpointDirPath + File.separator + ep.getFileName());
- }
- }
- deploymentEngine.addDeployer(
- new EndpointDeployer(), endpointDirPath, ServiceBusConstants.ARTIFACT_EXTENSION);
- }
-
- protected void setConfigurationContextService(ConfigurationContextService cfgCtxService) {
- ConfigHolder.getInstance().setAxisConfiguration(
- cfgCtxService.getServerConfigContext().getAxisConfiguration());
- ConfigHolder.getInstance().setConfigCtxt(cfgCtxService.getServerConfigContext());
- }
-
- protected void unsetConfigurationContextService(ConfigurationContextService cfgCtxService) {
- ConfigHolder.getInstance().setAxisConfiguration(null);
- ConfigHolder.getInstance().setConfigCtxt(null);
- }
-
- protected void setSynapseConfigurationService(
- SynapseConfigurationService synapseConfigurationService) {
-
- ConfigHolder.getInstance().setSynapseConfiguration(
- synapseConfigurationService.getSynapseConfiguration());
- }
-
- protected void unsetSynapseConfigurationService(
- SynapseConfigurationService synapseConfigurationService) {
-
- ConfigHolder.getInstance().setSynapseConfiguration(null);
- }
-
- /**
- * Here we receive an event about the creation of a SynapseEnvironment. If this is
- * SuperTenant we have to wait until all the other constraints are met and actual
- * initialization is done in the activate method. Otherwise we have to do the activation here.
- *
- * @param synapseEnvironmentService SynapseEnvironmentService which contains information
- * about the new Synapse Instance
- */
- protected void setSynapseEnvironmentService(
- SynapseEnvironmentService synapseEnvironmentService) {
- boolean alreadyCreated = ConfigHolder.getInstance().getSynapseEnvironmentServices().
- containsKey(synapseEnvironmentService.getTenantId());
-
- ConfigHolder.getInstance().addSynapseEnvironmentService(
- synapseEnvironmentService.getTenantId(),
- synapseEnvironmentService);
- if (activated) {
- if (!alreadyCreated) {
- try {
- registerDeployer(synapseEnvironmentService.getConfigurationContext().getAxisConfiguration(),
- synapseEnvironmentService.getSynapseEnvironment());
- if (log.isDebugEnabled()) {
- log.debug("Endpoint Admin bundle is activated ");
- }
- } catch (Throwable e) {
- log.error("Failed to activate Endpoint Admin bundle ", e);
- }
- }
- }
- }
-
- /**
- * Here we receive an event about Destroying a SynapseEnvironment. This can be the super tenant
- * destruction or a tenant destruction.
- *
- * @param synapseEnvironmentService synapseEnvironment
- */
- protected void unsetSynapseEnvironmentService(
- SynapseEnvironmentService synapseEnvironmentService) {
- ConfigHolder.getInstance().removeSynapseEnvironmentService(
- synapseEnvironmentService.getTenantId());
- }
-
- protected void setRegistryService(RegistryService regService) {
- if (log.isDebugEnabled()) {
- log.debug("RegistryService bound to the endpoint component");
- }
- try {
- ConfigHolder.getInstance().setConfigRegistry(regService.getConfigSystemRegistry());
- ConfigHolder.getInstance().setGovernanceRegistry(regService.getGovernanceSystemRegistry());
- } catch (RegistryException e) {
- log.error("Couldn't retrieve the registry from the registry service");
- }
- }
-
- protected void unsetRegistryService(RegistryService regService) {
- if (log.isDebugEnabled()) {
- log.debug("RegistryService unbound from the endpoint component");
- }
- ConfigHolder.getInstance().setConfigRegistry(null);
- }
-
- protected void setDependencyManager(DependencyManagementService dependencyMgr) {
- if (log.isDebugEnabled()) {
- log.debug("Dependency management service bound to the endpoint component");
- }
- ConfigHolder.getInstance().setDependencyManager(dependencyMgr);
- }
-
- protected void unsetDependencyManager(DependencyManagementService dependencyMgr) {
- if (log.isDebugEnabled()) {
- log.debug("Dependency management service unbound from the endpoint component");
- }
- ConfigHolder.getInstance().setDependencyManager(null);
- }
-
- protected void setSynapseRegistrationsService(
- SynapseRegistrationsService synapseRegistrationsService) {
-
- }
-
- protected void unsetSynapseRegistrationsService(
- SynapseRegistrationsService synapseRegistrationsService) {
- int tenantId = synapseRegistrationsService.getTenantId();
- if (ConfigHolder.getInstance().getSynapseEnvironmentServices().containsKey(tenantId)) {
- SynapseEnvironment env = ConfigHolder.getInstance().
- getSynapseEnvironmentService(tenantId).getSynapseEnvironment();
-
- ConfigHolder.getInstance().removeSynapseEnvironmentService(
- synapseRegistrationsService.getTenantId());
-
- AxisConfiguration axisConfig = synapseRegistrationsService.getConfigurationContext().
- getAxisConfiguration();
- if (axisConfig != null) {
- try {
- unregisterDeployer(axisConfig, env);
- } catch (Exception e) {
- log.warn("Couldn't remove the EndpointDeployer");
- }
- }
- }
- }
-
- protected void setRealmService(RealmService realmService) {
- ConfigHolder.getInstance().setRealmService(realmService);
- }
-
- protected void unsetRealmService(RealmService realmService) {
- ConfigHolder.getInstance().setRealmService(null);
- }
-
- protected void setLoadBalancerConfigurationService(LoadBalancerConfigurationService lbConfigSer){
- ConfigHolder.getInstance().setLbConfigService(lbConfigSer);
- }
-
- protected void unsetLoadBalancerConfigurationService(LoadBalancerConfigurationService lbConfigSer){
- ConfigHolder.getInstance().setLbConfigService(null);
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/internal/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/internal/RegistryManager.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/internal/RegistryManager.java
deleted file mode 100644
index 0f42aad..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/internal/RegistryManager.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright WSO2 Inc.
- *
- * 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.
- */
-package org.wso2.carbon.lb.endpoint.internal;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.lb.endpoint.util.ConfigHolder;
-import org.wso2.carbon.lb.common.util.DomainMapping;
-import org.wso2.carbon.registry.core.Resource;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-
-public class RegistryManager {
- UserRegistry governanceRegistry = ConfigHolder.getInstance().getGovernanceRegistry();
- private static final Log log = LogFactory.getLog(RegistryManager.class);
- /**
- *
- */
- private Resource resource = null;
- public static final String HOST_INFO = "hostinfo/";
- public static final String ACTUAL_HOST = "actual.host";
-
- public DomainMapping getMapping(String hostName) {
- DomainMapping domainMapping;
- try {
- if (governanceRegistry.resourceExists(HOST_INFO + hostName)) {
- resource = governanceRegistry.get(HOST_INFO + hostName);
- domainMapping = new DomainMapping(hostName);
- domainMapping.setActualHost(resource.getProperty(ACTUAL_HOST));
- return domainMapping;
- }
- } catch (RegistryException e) {
- log.info("Error while getting registry resource");
- throw new RuntimeException(e);
- }
- return null;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopicHealthChecker.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopicHealthChecker.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopicHealthChecker.java
deleted file mode 100644
index dd05f83..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopicHealthChecker.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-* Copyright (c) 2005-2011, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
-*
-* WSO2 Inc. 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.wso2.carbon.lb.endpoint.subscriber;
-
-import javax.jms.TopicSubscriber;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * This health checker runs forever, and is responsible for re-establishing a connection
- * between ELB and CC.
- */
-public class TopicHealthChecker implements Runnable{
-
- private static final Log log = LogFactory.getLog(TopicHealthChecker.class);
- private String topicName;
- private TopicSubscriber subscriber;
-
- public TopicHealthChecker(String topicName, TopicSubscriber subscriber) {
- this.topicName = topicName;
- this.subscriber = subscriber;
- }
-
- @Override
- public void run() {
- log.info("Topic Health Checker is running... ");
-
- while (true) {
- try {
- subscriber.getTopic();
-
- // health checker runs in every 30s
- Thread.sleep(30000);
-
- } catch (Exception e) {
- // implies connection is not established
- // sleep for 5s and retry
- try {
- log.info("Health checker failed and will retry to establish a connection after a 5s.");
- Thread.sleep(5000);
- break;
- } catch (InterruptedException ignore) {
- }
- }
-
- }
-
- TopologySubscriber.subscribe(topicName);
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopologyListener.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopologyListener.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopologyListener.java
deleted file mode 100644
index ed30069..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopologyListener.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.wso2.carbon.lb.endpoint.subscriber;
-
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageListener;
-import javax.jms.TextMessage;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.lb.endpoint.util.ConfigHolder;
-
-public class TopologyListener implements MessageListener {
-
- private static final Log log = LogFactory.getLog(TopologyListener.class);
-
- @Override
- public void onMessage(Message message) {
- TextMessage receivedMessage = (TextMessage) message;
- try {
-
- ConfigHolder.getInstance().getSharedTopologyDiffQueue().add(receivedMessage.getText());
-
- } catch (JMSException e) {
- log.error(e.getMessage(), e);
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopologySubscriber.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopologySubscriber.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopologySubscriber.java
deleted file mode 100644
index a36445a..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/subscriber/TopologySubscriber.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.wso2.carbon.lb.endpoint.subscriber;
-
-import java.util.Properties;
-
-import javax.jms.*;
-import javax.naming.InitialContext;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.lb.endpoint.util.ConfigHolder;
-import org.wso2.carbon.lb.endpoint.util.TopologyConstants;
-
-public class TopologySubscriber {
-
- private static final Log log = LogFactory.getLog(TopologySubscriber.class);
-
- public static void subscribe(String topicName) {
- Properties initialContextProperties = new Properties();
- TopicSubscriber topicSubscriber = null;
- TopicSession topicSession = null;
- TopicConnection topicConnection = null;
- InitialContext initialContext = null;
-
- initialContextProperties.put("java.naming.factory.initial",
- "org.wso2.andes.jndi.PropertiesFileInitialContextFactory");
-
- String mbServerUrl = null;
- if (ConfigHolder.getInstance().getLbConfig() != null) {
- mbServerUrl = ConfigHolder.getInstance().getLbConfig().getLoadBalancerConfig().getMbServerUrl();
- }
- String connectionString =
- "amqp://admin:admin@clientID/carbon?brokerlist='tcp://" +
- (mbServerUrl == null ? TopologyConstants.DEFAULT_MB_SERVER_URL : mbServerUrl) + "'&reconnect='true'";
- initialContextProperties.put("connectionfactory.qpidConnectionfactory", connectionString);
-
- try {
- initialContext = new InitialContext(initialContextProperties);
- TopicConnectionFactory topicConnectionFactory =
- (TopicConnectionFactory) initialContext.lookup("qpidConnectionfactory");
- topicConnection = topicConnectionFactory.createTopicConnection();
- topicConnection.start();
- topicSession =
- topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
-
- Topic topic = topicSession.createTopic(topicName);
- topicSubscriber =
- topicSession.createSubscriber(topic);
-
- topicSubscriber.setMessageListener(new TopologyListener());
-
- } catch (Exception e) {
- log.error(e.getMessage(), e);
-
- try {
- if (topicSubscriber != null) {
- topicSubscriber.close();
- }
-
- if (topicSession != null) {
- topicSession.close();
- }
-
- if (topicConnection != null) {
- topicConnection.close();
- }
- } catch (JMSException e1) {
- // ignore
- }
-
- }
- finally {
- // start the health checker
- Thread healthChecker = new Thread(new TopicHealthChecker(topicName, topicSubscriber));
- healthChecker.start();
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/util/ConfigHolder.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/util/ConfigHolder.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/util/ConfigHolder.java
deleted file mode 100644
index 59f68ae..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/util/ConfigHolder.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * Copyright (c) 2009, WSO2 Inc. (http://www.wso2.org) 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.
- */
-
-package org.wso2.carbon.lb.endpoint.util;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.engine.AxisConfiguration;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.config.SynapseConfiguration;
-import org.wso2.carbon.lb.common.conf.LoadBalancerConfiguration;
-import org.wso2.carbon.lb.common.service.LoadBalancerConfigurationService;
-import org.wso2.carbon.lb.endpoint.TenantAwareLoadBalanceEndpointException;
-import org.wso2.carbon.lb.endpoint.TenantLoadBalanceMembershipHandler;
-import org.wso2.carbon.mediation.dependency.mgt.services.DependencyManagementService;
-import org.wso2.carbon.mediation.initializer.services.SynapseEnvironmentService;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-import org.wso2.carbon.user.core.service.RealmService;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-
-/**
- *
- */
-public class ConfigHolder {
-
- private static ConfigHolder instance;
- private static final Log log = LogFactory.getLog(ConfigHolder.class);
-
- private SynapseConfiguration synapseConfiguration;
- private ConfigurationContext configCtxt;
- private AxisConfiguration axisConfiguration;
- private UserRegistry configRegistry;
- private UserRegistry governanceRegistry;
- private DependencyManagementService dependencyManager;
- private TenantLoadBalanceMembershipHandler tenantMembershipHandler;
- private LoadBalancerConfigurationService lbConfigService;
- private BlockingQueue<String> sharedTopologyQueue = new LinkedBlockingQueue<String>();
- private String previousMsg;
-
-
- private Map<Integer, SynapseEnvironmentService> synapseEnvironmentServices =
- new HashMap<Integer, SynapseEnvironmentService>();
-
- public RealmService getRealmService() {
- return realmService;
- }
-
- public void setRealmService(RealmService realmService) {
- this.realmService = realmService;
- }
-
- private RealmService realmService;
-
- private ConfigHolder() {
- }
-
- public static ConfigHolder getInstance() {
- if (instance == null) {
- instance = new ConfigHolder();
- }
- return instance;
- }
-
- public SynapseConfiguration getSynapseConfiguration() throws TenantAwareLoadBalanceEndpointException{
- assertNull("SynapseConfiguration", synapseConfiguration);
- return synapseConfiguration;
- }
-
- public void setSynapseConfiguration(SynapseConfiguration synapseConfiguration) {
- this.synapseConfiguration = synapseConfiguration;
- }
-
- public AxisConfiguration getAxisConfiguration() throws TenantAwareLoadBalanceEndpointException {
- assertNull("AxisConfiguration", axisConfiguration);
- return axisConfiguration;
- }
-
- public void setAxisConfiguration(AxisConfiguration axisConfiguration) {
- this.axisConfiguration = axisConfiguration;
- }
-
- public UserRegistry getConfigRegistry() throws TenantAwareLoadBalanceEndpointException {
- assertNull("Registry", configRegistry);
- return configRegistry;
- }
-
- public void setConfigRegistry(UserRegistry configRegistry) {
- this.configRegistry = configRegistry;
- }
-
- public DependencyManagementService getDependencyManager() {
- return dependencyManager;
- }
-
- public void setDependencyManager(DependencyManagementService dependencyManager) {
- this.dependencyManager = dependencyManager;
- }
-
- private void assertNull(String name, Object object) throws TenantAwareLoadBalanceEndpointException {
- if (object == null) {
- String message = name + " reference in the proxy admin config holder is null";
- log.error(message);
- throw new TenantAwareLoadBalanceEndpointException(message);
- }
- }
-
- public UserRegistry getGovernanceRegistry() {
- return governanceRegistry;
- }
-
- public void setGovernanceRegistry(UserRegistry governanceRegistry) {
- this.governanceRegistry = governanceRegistry;
- }
-
- public SynapseEnvironmentService getSynapseEnvironmentService(int id) {
- return synapseEnvironmentServices.get(id);
- }
-
- public void addSynapseEnvironmentService(int id,
- SynapseEnvironmentService synapseEnvironmentService) {
- synapseEnvironmentServices.put(id, synapseEnvironmentService);
- }
-
- public void removeSynapseEnvironmentService(int id) {
- synapseEnvironmentServices.remove(id);
- }
-
- public Map<Integer, SynapseEnvironmentService> getSynapseEnvironmentServices() {
- return synapseEnvironmentServices;
- }
-
- public void setTenantLoadBalanceMembershipHandler(TenantLoadBalanceMembershipHandler handler) {
- tenantMembershipHandler = handler;
- }
-
- public TenantLoadBalanceMembershipHandler getTenantLoadBalanceMembershipHandler() {
- return tenantMembershipHandler;
- }
-
- public ConfigurationContext getConfigCtxt() {
- return configCtxt;
- }
-
- public void setConfigCtxt(ConfigurationContext configCtxt) {
- this.configCtxt = configCtxt;
- }
-
- public void setLbConfigService(LoadBalancerConfigurationService lbConfigSer) {
- this.lbConfigService = lbConfigSer;
- }
-
- public LoadBalancerConfiguration getLbConfig() {
- return (LoadBalancerConfiguration) lbConfigService.getLoadBalancerConfig();
- }
-
- public BlockingQueue<String> getSharedTopologyDiffQueue() {
- return sharedTopologyQueue;
- }
-
- public void setSharedTopologyDiffQueue(BlockingQueue<String> sharedTopologyDiffQueue) {
- this.sharedTopologyQueue = sharedTopologyDiffQueue;
- }
-
- public String getPreviousMsg() {
- return previousMsg;
- }
-
- public void setPreviousMsg(String previousMsg) {
- this.previousMsg = previousMsg;
- }
-
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/util/TopologyConstants.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/util/TopologyConstants.java b/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/util/TopologyConstants.java
deleted file mode 100644
index 7e2fb79..0000000
--- a/components/load-balancer/lb-endpoint/org.wso2.carbon.lb.endpoint/4.1.3/src/main/java/org/wso2/carbon/lb/endpoint/util/TopologyConstants.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.wso2.carbon.lb.endpoint.util;
-
-public class TopologyConstants {
-
- public static final String TOPIC_NAME = "cloud-controller-topology";
- public static final String MB_SERVER_URL = "mb.server.ip";
- public static final String DEFAULT_MB_SERVER_URL = "localhost:5672";
-
- public static final String TOPOLOGY_SYNC_CRON = "1 * * * * ? *";
- public static final String TOPOLOGY_SYNC_TASK_NAME = "TopologySubscriberTaskOfADC";
- public static final String TOPOLOGY_SYNC_TASK_TYPE = "TOPOLOGY_SUBSCRIBER_TASK";
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/org.apache.stratos.lb.common/4.1.3/pom.xml
----------------------------------------------------------------------
diff --git a/components/load-balancer/org.apache.stratos.lb.common/4.1.3/pom.xml b/components/load-balancer/org.apache.stratos.lb.common/4.1.3/pom.xml
index 717385e..3caecf5 100644
--- a/components/load-balancer/org.apache.stratos.lb.common/4.1.3/pom.xml
+++ b/components/load-balancer/org.apache.stratos.lb.common/4.1.3/pom.xml
@@ -20,12 +20,12 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <!--parent>
- <groupId>org.wso2.carbon</groupId>
+ <parent>
+ <groupId>org.apache.stratos</groupId>
<artifactId>loadbalancer-components</artifactId>
<version>4.1.0</version>
<relativePath>../../pom.xml</relativePath>
- </parent-->
+ </parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.stratos</groupId>
@@ -39,23 +39,22 @@
<dependency>
<groupId>org.wso2.carbon</groupId>
<artifactId>org.wso2.carbon.core</artifactId>
- <version>4.1.0</version>
+ <version>${wso2carbon.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava.wso2</groupId>
<artifactId>guava</artifactId>
- <version>12.0.0.wso2v1</version>
- <!--version>${google.guava.wso2.version}</version-->
+ <version>${google.guava.wso2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.synapse</groupId>
<artifactId>synapse-core</artifactId>
- <version>2.1.1-wso2v4</version>
+ <version>${synapse.core.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>3.8.2</version>
+ <version>${junit.version}</version>
</dependency>
<!--dependency>
<groupId>org.testng</groupId>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/main/Main1.iml
----------------------------------------------------------------------
diff --git a/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/main/Main1.iml b/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/main/Main1.iml
index 7c21d05..76c5866 100644
--- a/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/main/Main1.iml
+++ b/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/main/Main1.iml
@@ -3,7 +3,7 @@
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/../../../../org.wso2.carbon.lb.common/4.1.3/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/java" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/test/Test.iml
----------------------------------------------------------------------
diff --git a/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/test/Test.iml b/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/test/Test.iml
index 26aaeb1..0eb6e7a 100644
--- a/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/test/Test.iml
+++ b/components/load-balancer/org.apache.stratos.lb.common/4.1.3/src/test/Test.iml
@@ -3,7 +3,7 @@
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/../../../../org.wso2.carbon.lb.common/4.1.3/src/test/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/java" isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/pom.xml
----------------------------------------------------------------------
diff --git a/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/pom.xml b/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/pom.xml
deleted file mode 100644
index 92dae9d..0000000
--- a/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/pom.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (c) 2009-2010, WSO2 Inc. (http://www.wso2.org) 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 xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <parent>
- <groupId>org.wso2.carbon</groupId>
- <artifactId>loadbalancer-components</artifactId>
- <version>4.1.0</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.wso2.carbon</groupId>
- <artifactId>org.wso2.carbon.lb.common</artifactId>
- <packaging>bundle</packaging>
- <version>4.1.3</version>
- <name>WSO2 Loadbalancer - Common</name>
- <url>http://wso2.org</url>
-
- <dependencies>
- <dependency>
- <groupId>org.wso2.carbon</groupId>
- <artifactId>org.wso2.carbon.core</artifactId>
- <version>4.1.0</version>
- </dependency>
- <dependency>
- <groupId>com.google.guava.wso2</groupId>
- <artifactId>guava</artifactId>
- <version>${google.guava.wso2.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.synapse</groupId>
- <artifactId>synapse-core</artifactId>
- <version>2.1.1-wso2v4</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </dependency>
- <!--dependency>
- <groupId>org.testng</groupId>
- <artifactId>testng</artifactId>
- <version>6.3.1</version>
- <scope>test</scope>
- </dependency-->
- <dependency>
- <groupId>org.wso2.carbon</groupId>
- <artifactId>org.wso2.carbon.logging</artifactId>
- </dependency>
- <!--dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.6</version>
- </dependency-->
- <!-- This mysql dependency is required for tests-->
- </dependencies>
-
- <build>
- <plugins>
- <!--plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.12</version>
- <configuration>
- <suiteXmlFiles>
- <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
- </suiteXmlFiles>
- </configuration>
- </plugin-->
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-scr-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <extensions>true</extensions>
- <configuration>
- <instructions>
- <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
- <Bundle-Name>${project.artifactId}</Bundle-Name>
- <Export-Package>
- org.wso2.carbon.lb.common.*,
- </Export-Package>
- <Private-Package>
- org.wso2.carbon.lb.common.conf.internal;
- </Private-Package>
- <Import-Package>
- !org.apache.commons.logging,
- org.apache.commons.logging; version=0.0.0,
- *;resolution:=optional
- </Import-Package>
- <DynamicImport-Package>*</DynamicImport-Package>
- </instructions>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/src/main/java/org/wso2/carbon/lb/common/cache/LRUCache.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/src/main/java/org/wso2/carbon/lb/common/cache/LRUCache.java b/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/src/main/java/org/wso2/carbon/lb/common/cache/LRUCache.java
deleted file mode 100644
index 54503ab..0000000
--- a/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/src/main/java/org/wso2/carbon/lb/common/cache/LRUCache.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright WSO2 Inc.
- *
- * 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.
- */
-package org.wso2.carbon.lb.common.cache;
-
-
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
-/**
- * A simple, thread-safe LRU cache implementation. This cache allows concurrent reads.
- * Concurrent write attempts are synchronized using an exclusive lock.
- */
-public class LRUCache<K,V> extends LinkedHashMap<K,V> {
-
- private static final long serialVersionUID = 5901026458782787628L;
- private int maxEntries;
- private ReadWriteLock lock;
-
- public LRUCache(int maxEntries) {
- super(maxEntries + 1, 1, false);
- this.maxEntries = maxEntries;
- this.lock = new ReentrantReadWriteLock();
- }
-
- @Override
- public V get(Object key) {
- lock.readLock().lock();
- try {
- return super.get(key);
- } finally {
- lock.readLock().unlock();
- }
- }
-
- @Override
- public V put(K key, V value) {
- lock.writeLock().lock();
- try {
- return super.put(key, value);
- } finally {
- lock.writeLock().unlock();
- }
- }
-
- @Override
- public V remove(Object key) {
- lock.writeLock().lock();
- try {
- return super.remove(key);
- } finally {
- lock.writeLock().unlock();
- }
- }
-
- @Override
- public void clear() {
- lock.writeLock().lock();
- try {
- super.clear();
- } finally {
- lock.writeLock().unlock();
- }
- }
-
- @Override
- protected boolean removeEldestEntry(Map.Entry<K,V> eldest) {
- boolean remove = size() > maxEntries;
- if (remove) {
- handleRemovableEntry(eldest);
- }
- return remove;
- }
-
- protected void handleRemovableEntry(Map.Entry<K,V> entry) {
-
- }
-
- public void exclusiveLock() {
- lock.writeLock().lock();
- }
-
- public void release() {
- lock.writeLock().unlock();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/290c6307/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/src/main/java/org/wso2/carbon/lb/common/cache/URLMappingCache.java
----------------------------------------------------------------------
diff --git a/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/src/main/java/org/wso2/carbon/lb/common/cache/URLMappingCache.java b/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/src/main/java/org/wso2/carbon/lb/common/cache/URLMappingCache.java
deleted file mode 100644
index b2cfcc2..0000000
--- a/components/load-balancer/org.wso2.carbon.lb.common/4.1.3/src/main/java/org/wso2/carbon/lb/common/cache/URLMappingCache.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright WSO2 Inc.
- *
- * 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.
- */
-package org.wso2.carbon.lb.common.cache;
-
-import org.wso2.carbon.lb.common.util.DomainMapping;
-import java.util.Map;
-
-public class URLMappingCache {
- private Map<String,DomainMapping> validMappings;
-
- private static URLMappingCache instance = null;
- protected URLMappingCache(int maxValidKeys) {
- validMappings = new LRUCache<String, DomainMapping>(maxValidKeys);
- }
-
- public void addValidMapping(String hostName, DomainMapping mapping) {
- validMappings.put(hostName, mapping);
- }
-
- public DomainMapping getMapping(String hostName) {
- return validMappings.get(hostName);
- }
-
- public static URLMappingCache getInstance(int maxValidKeys) {
- if(instance == null) {
-
- instance = new URLMappingCache(maxValidKeys);
- }
- return instance;
- }
-}