Hey,

With regard to services, as it is we require that services implement 
ServiceComposite. But, there are two sides to services, producing and 
consuming. I have no problem with requiring that in order to produce a 
Service in Qi4j it has to be a ServiceComposite, but as it is we cannot 
import external services from e.g. Jini, OSGi or Spring without having 
to wrap it in a ServiceComposite. I'm not sure there's a real need for 
it to be like this.

As long as the service uses an interface we can create a proxy, which is 
the minimum requirement as far as I can see. If the service is an object 
then you have to create a ServiceComposite that uses 
Wrapper<servicetype>, but then it is still doable.

Can anyone see a good reason to require that external services must 
implement ServiceComposite or be wrapped in a ServiceComposite? If not 
then I suggest that we change, possibly splitting up the current 
ModuleAssembly.addServices(ServiceComposite...) into two methods where 
one is for producers (addServices) and one is explicitly for importing 
external services 
(importServices(MyService.class).providedBy(SpringLookup.class)) or 
something like that. External services that are implemented in another 
Qi4j runtime would also then be imported using importServices() btw.

Makes sense? Thoughts on this?

/Rickard

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to