On Fri, Sep 17, 2010 at 4:58 PM, Ruwan Linton <[email protected]> wrote: > Hmmm, I didn't get it. A component initialization, (which will happen > most of the time inline with the system initialization) and a tenant > initialization are 2 different things. > > A particular component would want to initialize itself at the system > initialization while it might want to do certain task for each and every > tenant when it is initializing. Note that all tenants are using the same > instance of a given component. >
Yes what you say is true but there is another side. There are things that components should do when a tenant created as well. For example proxy server admin registers a Axis Observer. This axis observer should be registered for each and every tenant. At the moment registration happens in the components activation method. But this doesn't work across both multi tenant deployment and standalone deployment. Another example is statistics collection. We have a singleton class to collect the statistics. But ideally this component should get notified when to create a instance of this statistics store rather than creating at the start-up. Another example is registering synapse artifact deployers. Each and every component should create the deployers when a tenant is created. We can create work arounds and get rid of these problems. For example now proxy observer is created inside the stratos synapse management component. But these are ugly and in the long term hard to maintain. Thanks, Supun.. > Ruwan > > On 9/17/10 2:22 PM, Srinath Perera wrote: >> +1 >> >> On Fri, Sep 17, 2010 at 2:16 PM, Supun Kamburugamuva<[email protected]> wrote: >>> I'm looking for way for a component to know when it has to initialize >>> and when it has to destroy? >>> >>> At the moment we have two instances where a component should initialize. >>> >>> 1. Carbon initialization >>> 2. Tenant initialization >>> >>> But these two are two different cases. From a component perspective >>> they shouldn't know weather it is a system initialization or a tenant >>> initialization. It would be great to have a unified mechanism across >>> the platform for a component to decide when to initialize and when to >>> destroy. >>> >>> Thanks, >>> >>> -- >>> Supun Kamburugamuva >>> Technical Lead >>> WSO2 Inc.; http://wso2.org >>> E-mail: [email protected]; Mobile: +94 77 431 3585 >>> Blog: http://supunk.blogspot.com >>> >>> _______________________________________________ >>> Carbon-dev mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev >>> >> >> > > > -- > Ruwan Linton > Software Architect& Product Manager, WSO2 ESB; http://wso2.org/esb > WSO2 Inc.; http://wso2.com > > Lean . Enterprise . Middleware > > phone: +1 408 754 7388 ext 51789 > email: [email protected]; cell: +94 77 341 3097 > blog: http://blog.ruwan.org > linkedin: http://www.linkedin.com/in/ruwanlinton > tweet: http://twitter.com/ruwanlinton > > > _______________________________________________ > Carbon-dev mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev > -- Supun Kamburugamuva Technical Lead WSO2 Inc.; http://wso2.org E-mail: [email protected]; Mobile: +94 77 431 3585 Blog: http://supunk.blogspot.com _______________________________________________ Carbon-dev mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
