Anton,

Hello Shash!

SC> I looked at the CVS code last night, and it seems like the latest code
SC> acquires the ServiceManager from the container-manager context, and then
SC> proceeds to wrap it in a DefaultServiceManager. Is there any reason why the
SC> wrapping needs to happen? In our application, we have a specialized lookup
SC> method that takes a context, so that authorization can be checked when the
SC> service is obtained. I have worked around it by later wrapping the
SC> DefaultServiceManager again in another KeelServiceManager, but it'd be nice
SC> if Fortress used what it was provided when the container was setup.


It looks like there is no way to avoid that.
We need to add quite a lot of things to ServiceManager
(and even if we needed add one thing we still would have to
do it): LoggerManager, MetaInfoManager, etc.

But please have a look at the AbstractContainer.provideServiceManager()
method that has been added today. Maybe this can make you happier? :-)
You might even subclass FortressServiceManager if you wanted to and
have the smallest hierarchy possible:
   DefaultServiceManager->KeelFortressServiceManager
Does this allow to implement authorization (and do it efficiently)?

I will look at the CVS code tonight and see. I understand the issue though, since I just took a quick look and I now realize that the ServiceManager interface has no "add/put/addService etc." method. One thing is that Fortress could require the supplied service-manager to already have the required services added (but it could have issues with later maintenance).


BTW, I already extend KeelServiceManager from DefaultServiceManager, as it is. Here's how I am working around it now, not too big of a deal:

   public void service( final ServiceManager parent )
       throws ServiceException
   {
       super.service(parent);
       m_serviceManager = new KeelServiceManager( this, parent);
   }

SC> But, the majority of changes were because of the use of life-cycle SC> interfaces like "Contextualizable" to set contexts.

Please also look at the AbstractContainer.provideComponentContext().
Does it address this very problem?

I will look at this as well.


Shash

_________________________________________________________________
The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=features/junkmail



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to