Index: src/main/java/org/wso2/carbon/context/internal/CarbonContextDataHolder.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/org/wso2/carbon/context/internal/CarbonContextDataHolder.java	(revision 143203)
+++ src/main/java/org/wso2/carbon/context/internal/CarbonContextDataHolder.java	(revision )
@@ -40,6 +40,8 @@
 import org.wso2.carbon.queuing.QueuingException;
 import org.wso2.carbon.registry.api.Registry;
 import org.wso2.carbon.user.api.UserRealm;
+import org.wso2.carbon.user.api.UserRealmService;
+import org.wso2.carbon.user.api.UserStoreException;
 import org.wso2.carbon.utils.CarbonUtils;
 import org.wso2.carbon.utils.ServerConstants;
 import org.wso2.carbon.utils.ThriftSession;
@@ -299,6 +301,14 @@
     }
 
     public UserRealm getUserRealm() {
+        UserRealmService userRealmService = OSGiDataHolder.getInstance().getUserRealmService();
+        if(userRealm == null){
+            try {
+                userRealm = userRealmService.getTenantUserRealm(tenantId);
+            } catch (UserStoreException e) {
+                log.error("Cannot retrieve UserRealm for tenant " + tenantId, e);
+            }
+        }
         return userRealm;
     }
 
Index: src/main/java/org/wso2/carbon/context/internal/CarbonContextServiceComponent.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/org/wso2/carbon/context/internal/CarbonContextServiceComponent.java	(revision 143203)
+++ src/main/java/org/wso2/carbon/context/internal/CarbonContextServiceComponent.java	(revision )
@@ -21,6 +21,7 @@
 import org.wso2.carbon.base.DiscoveryService;
 import org.wso2.carbon.base.api.ServerConfigurationService;
 import org.wso2.carbon.registry.api.RegistryService;
+import org.wso2.carbon.user.api.UserRealmService;
 
 /**
  * @scr.component name="org.wso2.carbon.context.internal.CarbonContextServiceComponent" immediate="true"
@@ -63,5 +64,13 @@
 
     protected void unsetDiscoveryService(DiscoveryService discoveryService) {
         CarbonContextDataHolder.setDiscoveryServiceProvider(null);
+    }
+
+    protected void setUserRealmService(UserRealmService userRealmService){
+        dataHolder.setUserRealmService(userRealmService);
+    }
+
+    protected void unsetUserRealmService(UserRealmService userRealmService){
+        dataHolder.setUserRealmService(null);
     }
 }
Index: src/main/java/org/wso2/carbon/context/internal/OSGiDataHolder.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/org/wso2/carbon/context/internal/OSGiDataHolder.java	(revision 143203)
+++ src/main/java/org/wso2/carbon/context/internal/OSGiDataHolder.java	(revision )
@@ -17,27 +17,26 @@
 */
 package org.wso2.carbon.context.internal;
 
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.engine.ListenerManager;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.osgi.framework.BundleContext;
-import org.osgi.service.http.HttpService;
 import org.wso2.carbon.base.api.ServerConfigurationService;
 import org.wso2.carbon.registry.api.RegistryService;
+import org.wso2.carbon.user.api.UserRealmService;
 
 /**
  * TODO: class description
  */
 public class OSGiDataHolder {
+    private static final Log log = LogFactory.getLog(OSGiDataHolder.class);
-    private  static OSGiDataHolder instance = new OSGiDataHolder();
+    private static OSGiDataHolder instance = new OSGiDataHolder();
-    private Log log = LogFactory.getLog(OSGiDataHolder.class);
 
     private BundleContext bundleContext;
     private RegistryService registryService;
     private ServerConfigurationService serverConfigurationService;
+    private UserRealmService userRealmService;
 
-    public  static OSGiDataHolder getInstance() {
+    public static OSGiDataHolder getInstance() {
         return instance;
     }
 
@@ -52,29 +51,36 @@
         this.bundleContext = bundleContext;
     }
 
-    public  void setRegistryService(RegistryService registryService) {
+    public void setRegistryService(RegistryService registryService) {
         this.registryService = registryService;
     }
 
-    public  void setServerConfigurationService(ServerConfigurationService serverConfigurationService) {
+    public void setServerConfigurationService(ServerConfigurationService serverConfigurationService) {
         this.serverConfigurationService = serverConfigurationService;
     }
 
+    public UserRealmService getUserRealmService() {
+        return userRealmService;
+    }
 
+    public void setUserRealmService(UserRealmService userRealmService) {
+        this.userRealmService = userRealmService;
+    }
+
-    public  RegistryService getRegistryService() throws Exception {
+    public RegistryService getRegistryService() throws Exception {
         if (registryService == null) {
             String msg = "Before activating Carbon Core bundle, an instance of "
-                         + "RegistryService should be in existance";
+                         + "RegistryService should be in existence";
             log.error(msg);
             throw new Exception(msg);
         }
         return registryService;
     }
 
-    public  ServerConfigurationService getServerConfigurationService() {
+    public ServerConfigurationService getServerConfigurationService() {
         if (this.serverConfigurationService == null) {
             String msg = "Before activating Carbon Core bundle, an instance of "
-                         + "ServerConfigurationService should be in existance";
+                         + "ServerConfigurationService should be in existence";
             log.error(msg);
         }
         return this.serverConfigurationService;
