You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/03/08 20:33:31 UTC
stratos git commit: Adding tenant event receiver thread in load
balancer
Repository: stratos
Updated Branches:
refs/heads/master 1d3924f3e -> 7372d0376
Adding tenant event receiver thread in load balancer
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/7372d037
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/7372d037
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/7372d037
Branch: refs/heads/master
Commit: 7372d0376b2a99a5a11860a8b2b95626b7884572
Parents: 1d3924f
Author: Imesh Gunaratne <im...@apache.org>
Authored: Mon Mar 9 01:03:16 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Mon Mar 9 01:03:16 2015 +0530
----------------------------------------------------------------------
.../TenantAwareLoadBalanceEndpoint.java | 55 ++++++--------------
.../internal/LoadBalancerServiceComponent.java | 15 +++++-
2 files changed, 30 insertions(+), 40 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/7372d037/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/endpoint/TenantAwareLoadBalanceEndpoint.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/endpoint/TenantAwareLoadBalanceEndpoint.java b/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/endpoint/TenantAwareLoadBalanceEndpoint.java
index f203f5c..a71c7a8 100644
--- a/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/endpoint/TenantAwareLoadBalanceEndpoint.java
+++ b/components/org.apache.stratos.load.balancer/src/main/java/org/apache/stratos/load/balancer/endpoint/TenantAwareLoadBalanceEndpoint.java
@@ -417,42 +417,6 @@ public class TenantAwareLoadBalanceEndpoint extends org.apache.synapse.endpoints
}
/**
- * Get members private or public ip according to load balancer configuration.
- *
- * @param synCtx
- * @param member
- * @return
- */
-// private String getMemberIp(MessageContext synCtx, Member member) {
-// if (LoadBalancerConfiguration.getInstance().isTopologyEventListenerEnabled()) {
-// if (LoadBalancerConfiguration.getInstance().getTopologyMemberIpType() == MemberIpType.Public) {
-// // Return member's public IP address
-// if (StringUtils.isBlank(member.getDefaultPublicIP())) {
-// if (log.isErrorEnabled()) {
-// log.error(String.format("Member public IP address not found: [member] %s", member.getMemberId()));
-// }
-// throwSynapseException(synCtx, 500, "Internal server error");
-// }
-// if (log.isDebugEnabled()) {
-// log.debug(String.format("Using member public IP address: [member] %s [ip] %s", member.getMemberId(), member.getDefaultPublicIP()));
-// }
-// return member.getDefaultPublicIP();
-// }
-// }
-// // Return member's private IP address
-// if (StringUtils.isBlank(member.getDefaultPrivateIP())) {
-// if (log.isErrorEnabled()) {
-// log.error(String.format("Member IP address not found: [member] %s", member.getMemberId()));
-// }
-// throwSynapseException(synCtx, 500, "Internal server error");
-// }
-// if (log.isDebugEnabled()) {
-// log.debug(String.format("Using member IP address: [member] %s [ip] %s", member.getMemberId(), member.getDefaultPrivateIP()));
-// }
-// return member.getDefaultPrivateIP();
-// }
-
- /**
* Extract incoming request URL from message context.
*
* @param synCtx
@@ -509,6 +473,11 @@ public class TenantAwareLoadBalanceEndpoint extends org.apache.synapse.endpoints
return tenantId;
}
+ /**
+ * Check tenant exists.
+ * @param tenantId
+ * @return
+ */
private boolean tenantExists(int tenantId) {
try {
TenantManager.acquireReadLock();
@@ -518,6 +487,11 @@ public class TenantAwareLoadBalanceEndpoint extends org.apache.synapse.endpoints
}
}
+ /**
+ * Find tenant id from tenant domain.
+ * @param tenantDomain
+ * @return
+ */
private int findTenantIdFromTenantDomain(String tenantDomain) {
try {
TenantManager.acquireReadLock();
@@ -531,10 +505,13 @@ public class TenantAwareLoadBalanceEndpoint extends org.apache.synapse.endpoints
}
}
+ /**
+ * Extract target host from incoming request.
+ * @param synCtx
+ * @return
+ */
private String extractTargetHost(MessageContext synCtx) {
- org.apache.axis2.context.MessageContext msgCtx =
- ((Axis2MessageContext) synCtx).getAxis2MessageContext();
-
+ org.apache.axis2.context.MessageContext msgCtx = ((Axis2MessageContext) synCtx).getAxis2MessageContext();
Map headerMap = (Map) msgCtx.getProperty(org.apache.axis2.context.MessageContext.TRANSPORT_HEADERS);
String hostName = null;
if (headerMap != null) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/7372d037/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 33735dc..2532d96 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
@@ -42,6 +42,7 @@ 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;
+import org.apache.stratos.messaging.message.receiver.tenant.TenantEventReceiver;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.config.xml.MultiXMLConfigurationBuilder;
import org.apache.synapse.core.SynapseEnvironment;
@@ -91,6 +92,7 @@ public class LoadBalancerServiceComponent {
private boolean activated = false;
private ExecutorService executorService;
private LoadBalancerTopologyEventReceiver topologyEventReceiver;
+ private TenantEventReceiver tenantEventReceiver;
private LoadBalancerDomainMappingEventReceiver domainMappingEventReceiver;
private LoadBalancerCommonApplicationSignUpEventReceiver applicationSignUpEventReceiver;
private LoadBalancerStatisticsNotifier statisticsNotifier;
@@ -131,7 +133,8 @@ public class LoadBalancerServiceComponent {
}
if (configuration.isMultiTenancyEnabled() || configuration.isDomainMappingEnabled()) {
- // Start application signup event receiver
+ // Start tenant & application signup event receivers
+ startTenantEventReceiver(executorService);
startApplicationSignUpEventReceiver(executorService, topologyProvider);
}
@@ -217,6 +220,16 @@ public class LoadBalancerServiceComponent {
}
}
+ private void startTenantEventReceiver(ExecutorService executorService) {
+
+ tenantEventReceiver = new TenantEventReceiver();
+ tenantEventReceiver.setExecutorService(executorService);
+ tenantEventReceiver.execute();
+ if (log.isInfoEnabled()) {
+ log.info("Tenant event receiver thread started");
+ }
+ }
+
private void startStatisticsNotifier(TopologyProvider topologyProvider) {
// Start stats notifier thread
statisticsNotifier = new LoadBalancerStatisticsNotifier(LoadBalancerStatisticsCollector.getInstance(),