Repository: stratos Updated Branches: refs/heads/4.0.0-grouping 8f889e6c7 -> 5f9f40f28
fix for STRATOS-806:Sending an ApplicationCreatedEvent throws Exception Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/5f9f40f2 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/5f9f40f2 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/5f9f40f2 Branch: refs/heads/4.0.0-grouping Commit: 5f9f40f28bb7476f396b0a5e1f9b30bb5308212e Parents: 8f889e6 Author: Martin Eppel <[email protected]> Authored: Fri Sep 19 10:56:43 2014 -0700 Committer: Martin Eppel <[email protected]> Committed: Fri Sep 19 10:56:43 2014 -0700 ---------------------------------------------------------------------- .../manager/manager/CartridgeSubscriptionManager.java | 6 ++++++ .../receiver/StratosManagerTopologyEventReceiver.java | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/5f9f40f2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java index 2710c98..da820b4 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/manager/CartridgeSubscriptionManager.java @@ -111,6 +111,12 @@ public class CartridgeSubscriptionManager { log.error("app Id already exists, failed to createCompositeAppSubscription for appId: " + appId + " and tenantId: " + tenantId); throw new ApplicationSubscriptionException("Composite App Subscription already exists with Id [ " + appId + " ]"); } else { + + if (log.isDebugEnabled()) { + log.debug("creating new application subscription for app:" + appId ); + } + + compositeAppSubscription = new ApplicationSubscription(appId); // persist try { persistCompositeAppSubscription(compositeAppSubscription); http://git-wip-us.apache.org/repos/asf/stratos/blob/5f9f40f2/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java index dbe1727..0ff3dbb 100644 --- a/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java +++ b/components/org.apache.stratos.manager/src/main/java/org/apache/stratos/manager/topology/receiver/StratosManagerTopologyEventReceiver.java @@ -37,6 +37,7 @@ import org.apache.stratos.messaging.event.topology.*; import org.apache.stratos.messaging.listener.topology.*; import org.apache.stratos.messaging.message.receiver.topology.TopologyEventReceiver; import org.apache.stratos.messaging.message.receiver.topology.TopologyManager; +import org.wso2.carbon.context.PrivilegedCarbonContext; public class StratosManagerTopologyEventReceiver implements Runnable { @@ -295,17 +296,26 @@ public class StratosManagerTopologyEventReceiver implements Runnable { Application app = appCreateEvent.getApplication(); String appId = app.getId(); int tenantId = app.getTenantId(); + String domain = app.getTenantDomain(); if (log.isDebugEnabled()) { - log.debug("received application created event for app: " + appId + " and tenant: " + tenantId); + log.debug("received application created event for app: " + appId + " and tenant: " + tenantId + + " domain:" + domain); } try { + PrivilegedCarbonContext.startTenantFlow(); + PrivilegedCarbonContext carbonContext = PrivilegedCarbonContext.getThreadLocalCarbonContext(); + carbonContext.setTenantDomain(domain); + carbonContext.setTenantId(tenantId); + // create Application Subscription and persist compositeAppSubscription = cartridgeSubscriptionManager.createApplicationSubscription(appId, tenantId); cartridgeSubscriptionManager.persistCompositeAppSubscription(compositeAppSubscription); } catch (ApplicationSubscriptionException e) { log.error("failed to persist application subscription, caught exception: " + e); } catch (ADCException e) { log.error("failed to persist application subscription, caught exception: " + e); + } finally { + PrivilegedCarbonContext.endTenantFlow(); } } finally { TopologyManager.releaseReadLock();
