OK. Then the solution is to register listeners for tenant creation in the components as well.
Supun.. On Sun, Sep 19, 2010 at 1:22 PM, Ruwan Linton <[email protected]> wrote: > On 9/18/10 2:15 PM, Supun Kamburugamuva wrote: >> >> 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. > > I don't think we should unify these, which is because there could be > components that needs to do separate things when carbon is getting > initialized and a tenant is getting initialized. > > If we want to go for unified initialization, we need to design the API in a > manner it could differentiate the system and tenant initializations. One > approach would be to pass-in the tenant id or something specific to that > tenant and pass null for the system initialization. Then again that is a bad > API design :-) > > Ruwan >> >> 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 >>> >> >> > > > -- > 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 > > -- 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
