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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
