Shouldn't a realm be disposed when unselecting it

View: New views
8 Messages — Rating Filter:   Alert me  

Shouldn't a realm be disposed when unselecting it

by Anders Hammar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I have a realm that implements Initializable and Disposable. When then
realm isn't selected at startup (in the Nexus conf), its initialize()
method isn't called. When selecting it (in runtime), it is called. So,
when de-selecting it I expected its dispose() method to be called (in
runtime), but it isn't.
Is this a bug or intended behavior? If intended behavior, how can I
tell if a realm is currently selected or not?

/Anders

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...


Re: Shouldn't a realm be disposed when unselecting it

by Anders Hammar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Btw, I'm using Nexus 1.3.1.

/Anders

On Tue, Mar 31, 2009 at 14:42, Anders Hammar <anders@...> wrote:

> Hi,
>
> I have a realm that implements Initializable and Disposable. When then
> realm isn't selected at startup (in the Nexus conf), its initialize()
> method isn't called. When selecting it (in runtime), it is called. So,
> when de-selecting it I expected its dispose() method to be called (in
> runtime), but it isn't.
> Is this a bug or intended behavior? If intended behavior, how can I
> tell if a realm is currently selected or not?
>
> /Anders
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...


Re: Re: Shouldn't a realm be disposed when unselecting it

by Tamás Cservenák :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

Plexus' Disposable interface will be called on Plexus Container Dispose (when components are disposed). Not during "normal" app lifetime....

From a Realm component viewpoint, it is selected when initialize() _is_ called, since then a Plexus lookup is made for it, and Plexus will call all the lifecycle methods properly, as your component implements them (initializable, Startable, etc).

If no lookup is made against your Realm, it will be not brought up as a Plexus component at all.

Now, there is a situation like bringing up Nexus with your Realm _enabled_, than disabling it via UI.... Your Realm is currently completely unaware it is being "turned off".

~t~

On Tue, Mar 31, 2009 at 2:45 PM, Anders Hammar <anders@...> wrote:
Btw, I'm using Nexus 1.3.1.

/Anders

On Tue, Mar 31, 2009 at 14:42, Anders Hammar <anders@...> wrote:
> Hi,
>
> I have a realm that implements Initializable and Disposable. When then
> realm isn't selected at startup (in the Nexus conf), its initialize()
> method isn't called. When selecting it (in runtime), it is called. So,
> when de-selecting it I expected its dispose() method to be called (in
> runtime), but it isn't.
> Is this a bug or intended behavior? If intended behavior, how can I
> tell if a realm is currently selected or not?
>
> /Anders
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...



Re: Re: Shouldn't a realm be disposed when unselecting it

by Anders Hammar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ok, makes sense. Is there a way of telling of my realm is
selected/activated in Nexus? I would like this information to make
isPrimary() of my user locator to return true if the realm is selected
and false if not.

Thanks,
/Anders

2009/3/31 Tamás Cservenák <tamas@...>:

> Hi,
> Plexus' Disposable interface will be called on Plexus Container Dispose
> (when components are disposed). Not during "normal" app lifetime....
> From a Realm component viewpoint, it is selected when initialize() _is_
> called, since then a Plexus lookup is made for it, and Plexus will call all
> the lifecycle methods properly, as your component implements them
> (initializable, Startable, etc).
> If no lookup is made against your Realm, it will be not brought up as a
> Plexus component at all.
> Now, there is a situation like bringing up Nexus with your Realm _enabled_,
> than disabling it via UI.... Your Realm is currently completely unaware it
> is being "turned off".
> ~t~
>
> On Tue, Mar 31, 2009 at 2:45 PM, Anders Hammar <anders@...> wrote:
>>
>> Btw, I'm using Nexus 1.3.1.
>>
>> /Anders
>>
>> On Tue, Mar 31, 2009 at 14:42, Anders Hammar <anders@...> wrote:
>> > Hi,
>> >
>> > I have a realm that implements Initializable and Disposable. When then
>> > realm isn't selected at startup (in the Nexus conf), its initialize()
>> > method isn't called. When selecting it (in runtime), it is called. So,
>> > when de-selecting it I expected its dispose() method to be called (in
>> > runtime), but it isn't.
>> > Is this a bug or intended behavior? If intended behavior, how can I
>> > tell if a realm is currently selected or not?
>> >
>> > /Anders
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: nexus-dev-unsubscribe@...
>> For additional commands, e-mail: nexus-dev-help@...
>>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...


RE: Re: Shouldn't a realm be disposed when unselecting it

by Brian E Fox :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

These kinds of issues will be better handled once we integrate the plugin manager in 1.4. Until then, the plugins are handled like normal components, without most of the lifecycle functionality you would want, like disable, unload, reload, upgrade etc.

-----Original Message-----
From: anders.g.hammar@... [mailto:anders.g.hammar@...] On Behalf Of Anders Hammar
Sent: Tuesday, March 31, 2009 8:58 AM
To: nexus-dev@...
Subject: Re: [nexus-dev] Re: Shouldn't a realm be disposed when unselecting it

Ok, makes sense. Is there a way of telling of my realm is
selected/activated in Nexus? I would like this information to make
isPrimary() of my user locator to return true if the realm is selected
and false if not.

Thanks,
/Anders

2009/3/31 Tamás Cservenák <tamas@...>:

> Hi,
> Plexus' Disposable interface will be called on Plexus Container Dispose
> (when components are disposed). Not during "normal" app lifetime....
> From a Realm component viewpoint, it is selected when initialize() _is_
> called, since then a Plexus lookup is made for it, and Plexus will call all
> the lifecycle methods properly, as your component implements them
> (initializable, Startable, etc).
> If no lookup is made against your Realm, it will be not brought up as a
> Plexus component at all.
> Now, there is a situation like bringing up Nexus with your Realm _enabled_,
> than disabling it via UI.... Your Realm is currently completely unaware it
> is being "turned off".
> ~t~
>
> On Tue, Mar 31, 2009 at 2:45 PM, Anders Hammar <anders@...> wrote:
>>
>> Btw, I'm using Nexus 1.3.1.
>>
>> /Anders
>>
>> On Tue, Mar 31, 2009 at 14:42, Anders Hammar <anders@...> wrote:
>> > Hi,
>> >
>> > I have a realm that implements Initializable and Disposable. When then
>> > realm isn't selected at startup (in the Nexus conf), its initialize()
>> > method isn't called. When selecting it (in runtime), it is called. So,
>> > when de-selecting it I expected its dispose() method to be called (in
>> > runtime), but it isn't.
>> > Is this a bug or intended behavior? If intended behavior, how can I
>> > tell if a realm is currently selected or not?
>> >
>> > /Anders
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: nexus-dev-unsubscribe@...
>> For additional commands, e-mail: nexus-dev-help@...
>>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...


---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...


Re: Re: Shouldn't a realm be disposed when unselecting it

by Anders Hammar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ok, I'll wait for that then!

/Anders

On Tue, Mar 31, 2009 at 15:13, Brian E. Fox <brianf@...> wrote:

> These kinds of issues will be better handled once we integrate the plugin manager in 1.4. Until then, the plugins are handled like normal components, without most of the lifecycle functionality you would want, like disable, unload, reload, upgrade etc.
>
> -----Original Message-----
> From: anders.g.hammar@... [mailto:anders.g.hammar@...] On Behalf Of Anders Hammar
> Sent: Tuesday, March 31, 2009 8:58 AM
> To: nexus-dev@...
> Subject: Re: [nexus-dev] Re: Shouldn't a realm be disposed when unselecting it
>
> Ok, makes sense. Is there a way of telling of my realm is
> selected/activated in Nexus? I would like this information to make
> isPrimary() of my user locator to return true if the realm is selected
> and false if not.
>
> Thanks,
> /Anders
>
> 2009/3/31 Tamás Cservenák <tamas@...>:
>> Hi,
>> Plexus' Disposable interface will be called on Plexus Container Dispose
>> (when components are disposed). Not during "normal" app lifetime....
>> From a Realm component viewpoint, it is selected when initialize() _is_
>> called, since then a Plexus lookup is made for it, and Plexus will call all
>> the lifecycle methods properly, as your component implements them
>> (initializable, Startable, etc).
>> If no lookup is made against your Realm, it will be not brought up as a
>> Plexus component at all.
>> Now, there is a situation like bringing up Nexus with your Realm _enabled_,
>> than disabling it via UI.... Your Realm is currently completely unaware it
>> is being "turned off".
>> ~t~
>>
>> On Tue, Mar 31, 2009 at 2:45 PM, Anders Hammar <anders@...> wrote:
>>>
>>> Btw, I'm using Nexus 1.3.1.
>>>
>>> /Anders
>>>
>>> On Tue, Mar 31, 2009 at 14:42, Anders Hammar <anders@...> wrote:
>>> > Hi,
>>> >
>>> > I have a realm that implements Initializable and Disposable. When then
>>> > realm isn't selected at startup (in the Nexus conf), its initialize()
>>> > method isn't called. When selecting it (in runtime), it is called. So,
>>> > when de-selecting it I expected its dispose() method to be called (in
>>> > runtime), but it isn't.
>>> > Is this a bug or intended behavior? If intended behavior, how can I
>>> > tell if a realm is currently selected or not?
>>> >
>>> > /Anders
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: nexus-dev-unsubscribe@...
>>> For additional commands, e-mail: nexus-dev-help@...
>>>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: nexus-dev-unsubscribe@...
> For additional commands, e-mail: nexus-dev-help@...
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: nexus-dev-unsubscribe@...
> For additional commands, e-mail: nexus-dev-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...


Re: Re: Shouldn't a realm be disposed when unselecting it

by Toby Stevens :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


There is no elegant solution for this (in the future this should not be a problem).  Currently you can something like:

...

@Requirement
private NexusConfiguration configuration;
...

private boolean isEnabled()
{
  this.configuration.getRealms().contains( "realm-hint" ) );
}
...

(instead of using the NexusConfiguration, you could use the RealmLocator.


A word of caution, do not depend on the isPrimary() method.  That will be removed soon (as soon as i get some time to add another test or two).  As a replacement we will be using the order that the realms are defined.  This approach more flexible.

To check if your realm is enabled you can wrap your method calls with the isEnabled() method if you have too.  (Yes, I realize this is lame)

Ideally, when we finish integrating the planned plugin manager (and this has been the plan right along)
Your class will not be loaded when your plugin is not installed.  So you will not need this.

Note:  The only down side (and your the judge for this) of not adding the isEnabled() type of check, is that your realms users will show up in the user search when the realm is disabled.  They will NOT be able to login.  Also, if you go the road of isEnabled(), your User Locator will still show up in the User page, and appear to return nothing.
 


On Mar 31, 2009, at 8:58 AM, Anders Hammar wrote:

Ok, makes sense. Is there a way of telling of my realm is
selected/activated in Nexus? I would like this information to make
isPrimary() of my user locator to return true if the realm is selected
and false if not.

Thanks,
/Anders

2009/3/31 Tamás Cservenák <tamas@...>:
Hi,
Plexus' Disposable interface will be called on Plexus Container Dispose
(when components are disposed). Not during "normal" app lifetime....
From a Realm component viewpoint, it is selected when initialize() _is_
called, since then a Plexus lookup is made for it, and Plexus will call all
the lifecycle methods properly, as your component implements them
(initializable, Startable, etc).
If no lookup is made against your Realm, it will be not brought up as a
Plexus component at all.
Now, there is a situation like bringing up Nexus with your Realm _enabled_,
than disabling it via UI.... Your Realm is currently completely unaware it
is being "turned off".
~t~

On Tue, Mar 31, 2009 at 2:45 PM, Anders Hammar <anders@...> wrote:

Btw, I'm using Nexus 1.3.1.

/Anders

On Tue, Mar 31, 2009 at 14:42, Anders Hammar <anders@...> wrote:
Hi,

I have a realm that implements Initializable and Disposable. When then
realm isn't selected at startup (in the Nexus conf), its initialize()
method isn't called. When selecting it (in runtime), it is called. So,
when de-selecting it I expected its dispose() method to be called (in
runtime), but it isn't.
Is this a bug or intended behavior? If intended behavior, how can I
tell if a realm is currently selected or not?

/Anders


---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...




---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...



Re: Re: Shouldn't a realm be disposed when unselecting it

by Anders Hammar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Ok, thanks for the tip. Regarding the isPrimary() method, I've been
thinking that there has to be a better way. :-)

/Anders

On Tue, Mar 31, 2009 at 15:27, Toby Stevens <tstevens@...> wrote:

>
> There is no elegant solution for this (in the future this should not be a
> problem).  Currently you can something like:
> ...
> @Requirement
> private NexusConfiguration configuration;
> ...
> private boolean isEnabled()
> {
>   this.configuration.getRealms().contains( "realm-hint" ) );
> }
> ...
> (instead of using the NexusConfiguration, you could use the RealmLocator.
>
> A word of caution, do not depend on the isPrimary() method.  That will be
> removed soon (as soon as i get some time to add another test or two).  As a
> replacement we will be using the order that the realms are defined.  This
> approach more flexible.
> To check if your realm is enabled you can wrap your method calls with the
> isEnabled() method if you have too.  (Yes, I realize this is lame)
> Ideally, when we finish integrating the planned plugin manager (and this has
> been the plan right along)
> Your class will not be loaded when your plugin is not installed.  So you
> will not need this.
> Note:  The only down side (and your the judge for this) of not adding the
> isEnabled() type of check, is that your realms users will show up in the
> user search when the realm is disabled.  They will NOT be able to login.
>  Also, if you go the road of isEnabled(), your User Locator will still show
> up in the User page, and appear to return nothing.
>
>
> On Mar 31, 2009, at 8:58 AM, Anders Hammar wrote:
>
> Ok, makes sense. Is there a way of telling of my realm is
> selected/activated in Nexus? I would like this information to make
> isPrimary() of my user locator to return true if the realm is selected
> and false if not.
>
> Thanks,
> /Anders
>
> 2009/3/31 Tamás Cservenák <tamas@...>:
>
> Hi,
>
> Plexus' Disposable interface will be called on Plexus Container Dispose
>
> (when components are disposed). Not during "normal" app lifetime....
>
> From a Realm component viewpoint, it is selected when initialize() _is_
>
> called, since then a Plexus lookup is made for it, and Plexus will call all
>
> the lifecycle methods properly, as your component implements them
>
> (initializable, Startable, etc).
>
> If no lookup is made against your Realm, it will be not brought up as a
>
> Plexus component at all.
>
> Now, there is a situation like bringing up Nexus with your Realm _enabled_,
>
> than disabling it via UI.... Your Realm is currently completely unaware it
>
> is being "turned off".
>
> ~t~
>
> On Tue, Mar 31, 2009 at 2:45 PM, Anders Hammar <anders@...> wrote:
>
> Btw, I'm using Nexus 1.3.1.
>
> /Anders
>
> On Tue, Mar 31, 2009 at 14:42, Anders Hammar <anders@...> wrote:
>
> Hi,
>
> I have a realm that implements Initializable and Disposable. When then
>
> realm isn't selected at startup (in the Nexus conf), its initialize()
>
> method isn't called. When selecting it (in runtime), it is called. So,
>
> when de-selecting it I expected its dispose() method to be called (in
>
> runtime), but it isn't.
>
> Is this a bug or intended behavior? If intended behavior, how can I
>
> tell if a realm is currently selected or not?
>
> /Anders
>
>
> ---------------------------------------------------------------------
>
> To unsubscribe, e-mail: nexus-dev-unsubscribe@...
>
> For additional commands, e-mail: nexus-dev-help@...
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: nexus-dev-unsubscribe@...
> For additional commands, e-mail: nexus-dev-help@...
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-dev-unsubscribe@...
For additional commands, e-mail: nexus-dev-help@...