If you don't package your descriptor as META-INF/hivemodule.sdl, then
it won't automatically be picked up by the RegistryBuilder.

In you case, you might want to have a single JAR with multiple
modules.  hivemodule.sdl can use sub-module elements to reference
other modules descriptors, also packaged in META-INF, but with
different names.

On Sun, 11 Jul 2004 15:57:39 +0200, Achim Huegen <[EMAIL PROTECTED]> wrote:
> In deed this is an area where hivemind lacks a really smart solution.
> 
> 1. You could use multiple module files. One that includes the service
> definition
> (interface only) and one for each implementation (ldap, db):
> 
>         <implementation service-id="com.mycorp.security.data.UserData">
>           <create-instance 
> class="com.mycorp.security.data.ldap.UserDataImpl"/>
>         </implementation>
> 
> In the application you could decide which implementation file to include.
> But: This doesn't work very well with automatic loading hivemodule.sdl
>  from META-INF directory (ok it works, but you must create a separate jar
> for each implementation).
> Instead you could build your registry manually (like HiveMindTestCase does)
> 
> 2. Use service overriding (http://jakarta.apache.org/hivemind/override.html
> )
> 
> 3. Look here for a possible future solution :
> http://wiki.apache.org/jakarta-hivemind/ConditionalContributionsProposal
> 
> Achim Huegen
> 
> Am Sat, 10 Jul 2004 02:01:36 -0700 (PDT) schrieb Erik Rasmussen
> <[EMAIL PROTECTED]>:
> 
> 
> 
> > First of all, thank you to those who helped me with my
> > previous question.   I've tried posting a few thank
> > yous already, but they've been rejected.
> >
> > My design question is, where should I keep my
> > hivemodule.sdl files?
> >
> > Let's say I've got some classes that look like:
> >
> > com.mycorp.security.service.SecurityService
> > com.mycorp.security.service.SecurityServiceImpl
> > com.mycorp.security.data.UserData
> > com.mycorp.security.data.GroupData
> > com.mycorp.security.data.db.UserDataImpl
> > com.mycorp.security.data.db.GroupDataImpl
> > com.mycorp.security.data.ldap.UserDataImpl
> > com.mycorp.security.data.ldap.GroupDataImpl
> >
> > So I've got the business logic in SecurityServiceImpl
> > and it requires instances of UserData and GroupData to
> > run.  Initially, I thought I should put the
> > hivemodule.sdl in:
> > /com/mycorp/security/hivemodule.sdl
> > To keep it, well, "modularized".  Once I had my
> > security.jar, I could plug that functionality into any
> > application.
> >
> > But the whole point of this facade/service pattern is
> > that I can swap out a different implementation of
> > UserData and GroupData and SecurityService wouldn't
> > need to know.  But in order to do that "swap", I have
> > to change hivemodule.sdl!  Please don't tell me I have
> > to have one hivemodule.sdl per application...  :-(
> >
> > What's the best/recommended solution to this?  Where
> > should the hivemodule.sdl files live?
> >
> > Thanks,
> > Erik
> >
> >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > New and Improved Yahoo! Mail - 100MB free storage!
> > http://promotions.yahoo.com/new_mail
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


-- 
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind
http://howardlewisship.com

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

Reply via email to