hivemind-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Achim Huegen <ahue...@gmx-topmail.de>
Subject Re: Design question
Date Sun, 11 Jul 2004 13:57:39 GMT
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 
<i_am_erik@yahoo.com>:

> 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: hivemind-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: hivemind-user-help@jakarta.apache.org
>



---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-user-help@jakarta.apache.org


Mime
View raw message