I had the same problem. Did you hear back on the subject? I ended up using service-property.
On Tue, 21 Sep 2004 11:50:06 +0200, Strutynski, Oliver <[EMAIL PROTECTED]> wrote: > I have one more problem(?) with multiple interfaces: > > Define interfaces A,B > Interface C extends A,B > Class X implements C > > Now I have two more services Y and Z. Both depend on the implementation > X, but import different service interfaces. So in my hivemodule.xml I > have something like: > > <service-point id="MyA" interface="A"> > <invoke-factory service-id="hivemind.BuilderFactory"> > <construct autowire-services="true" class="X"> > <boolean>false</boolean> > </construct> > </invoke-factory> > </service-point> > > <service-point id="MyB" interface="B"> > <invoke-factory service-id="hivemind.BuilderFactory"> > <construct autowire-services="true" class="X"> > <boolean>false</boolean> > </construct> > </invoke-factory> > </service-point> > > and simple service points for Y and Z. > > Hivemind correctly autowires everything and both Y and Z get an instance > of X, however because Y and Z import different interfaces, two instances > of X are being created. Is there a proper way to make sure that only one > instance of X will be created and handed to both Y and Z, without making > X and Z depend on the combined interface C (which is not really an option)? > > Probably a definition like > > <service-point id="MyAandB" interface="A,B"> > <invoke-factory service-id="hivemind.BuilderFactory"> > <construct autowire-services="true" class="X"> > <boolean>false</boolean> > </construct> > </invoke-factory> > </service-point> > > could do the job, but that is not currently possible with Hivemind. > > Thanks again for any help. > > Oliver Strutynski > > --------------------------------------------------------------------- > 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]
