On Fri, Jul 8, 2011 at 11:18 AM, Kathiravelu Pradeeban
<[email protected]>wrote:

> Hi,
> $Subject can be found in https://wso2.org/crucible/cru/COMPONENT-51.
> Moreover, given below is the steps to set the tenantId for your threads,
> such that the logging component will get the tenant id for the respective
> component/thread.
>
> If you are starting a new thread, you have to add this below code segment,
> for the specific thread, to start the tenant flow, and finally end it.
>
> Forwarded message from Amani attached below.
>
>
> Basically what we need to do is to set the tenant id in that component
> specific thread...
>
> So you need to create a class extending
> AbstractAxis2ConfigurationContextObserver (check admin console o event
> component) and get the tenant id
>   int
> tenantId=SuperTenantCarbonContext.getCurrentContext(configurationContext).getTenantId();
>
> and set the tenant id
>
> try {
>             SuperTenantCarbonContext.startTenantFlow()
>
> SuperTenantCarbonContext.getCurrentContext().setTenantId(tenantID);
>
> SuperTenantCarbonContext.getCurrentContext().getTenantDomain(true);
>
>             if (!loadedTenants.contains(tenantDomain.trim())) {
>                 eventBroker.initializeTenant();
>                 loadedTenants.add(tenantDomain.trim());
>             }
>
>         } catch (Exception e) {
>             log.error("Error in setting tenant information", e);
>         } finally {
>             SuperTenantCarbonContext.endTenantFlow();
>         }
>
> Please go through the attached files to get a clear idea on how exactly u
> should do it.
>

This is not the only way to set the tenantId inside the thread.It depends on
the place where you set it ... basically when you create new threads you
need to set the tenantId. (you only need following few lines of coding)

try {
            SuperTenantCarbonContext.startTenantFlow()

SuperTenantCarbonContext.getCurrentContext().setTenantId(tenantID);

SuperTenantCarbonContext.getCurrentContext().getTenantDomain(true);

               //your code

        } catch (Exception e) {
            log.error("Error in setting tenant information", e);
        } finally {
            SuperTenantCarbonContext.endTenantFlow();
        }


>
>
>
> Thank you.
> Regards,
> Pradeeban.
>
>
> --
> Kathiravelu Pradeeban.
> Software Engineer.
> WSO2 Inc.
>
> Blog: [Llovizna] http://kkpradeeban.blogspot.com/
>
Regards,
Amani
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to