I am working with beta-2 and use following configuration for my service:
<service-point
id="TestComponent1" interface="framework.transaction.TestComponent">
<invoke-factory
service-id="hivemind.BuilderFactory">
<construct class="framework.transaction.TestComponentImpl">
<set-service property="component2"
service-id="TestComponent2"/>
</construct>
</invoke-factory>
</service-point>
<service-point
id="TestComponent2"
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
