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: Problem with "multiple service points for interface"
Date Thu, 19 Aug 2004 12:53:56 GMT
The definition of TestComponent2 doesn't specify a value for property 
component2. So autowiring is tried and searches for a unique service 
that implements the TestComponent interface in order to assign it to 
property component2. Since two services with this interface exist an 
error is raised.
You can fix this by specifying a value for component2, but I dont't know
how you can leave it null.

Achim Huegen


Teshler, Andre wrote:

> I am working with beta-2 and use following configuration for my service:
> 
>     <service-point id="TestComponent*1*" 
> interface="framework.transaction.TestComponent">
>         <invoke-factory service-id="hivemind.BuilderFactory">
>             <construct class="framework.transaction.TestComponentImpl">
>                 <set-service property="*component2*" 
> service-id="TestComponent*2*"/>
>             </construct>
>         </invoke-factory>
>     </service-point>
> 
>     <service-point id="TestComponent*2*" 
> interface="framework.transaction.TestComponent">
>         <invoke-factory service-id="hivemind.BuilderFactory">
>             <construct class="framework.transaction.TestComponentImpl">
>             </construct>
>         </invoke-factory>
>     </service-point>
> 
> With implementation class:
> 
> public class TestComponentImpl implements TestComponent {
>  private TestComponent *component2*;
>  public void setComponent2(TestComponent component2) {
>   this.component2 = component2;
>  }
>  // ...
> }
> 
> TestComponent1 will be initialized correctly, but acessing the property 
> 'component2' I get following exception:
> 
> /Unable to autowire property component2 of service 
> framework.transaction.TestComponent2: There are multiple service points 
> for interface framework.transaction.TestComponent: 
> {framework.transaction.TestComponent, 
> framework.transaction.TestComponent2}./
> 
> What is wrong here ? It should be possible to define two services with 
> the same interface (and same implementation class) but different 
> injektions for member-services.
> 
> By the way: this example has worked withe beta-1.
> 
> Thanks.
> 
> Andre
> 


---------------------------------------------------------------------
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