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]