[
https://issues.apache.org/jira/browse/ARIES-413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12912916#action_12912916
]
Bengt Rodehav edited comment on ARIES-413 at 9/21/10 6:05 AM:
--------------------------------------------------------------
What about adding an extra level of indirection? Would this work?
<bean id="fixture" class="se.digia.sts.refdata.test.RefdataFixtureFactory"
factory-method="createFixture">
<property name="fixture" ref="fixtureImpl" />
</bean>
<bean id="fixtureImpl" class="se.digia.sts.refdata.test.RefdataFixtureService">
<tx:transaction method="initialise" value="RequiresNew" />
<jpa:context property="entityManager" unitname="refdataPU" />
</bean>
public class RefdataFixtureFactory {
private RefdataFixtureService fixture;
public void setFixture(RefdataFixtureService theFixture) {
fixture = theFixture;
}
public static RefdataFixtureService createFixture() {
fixture.initialise()
return fixture;
}
}
was (Author: rodehav):
What about adding an extra level of indirection? Would this work?
<bean id="fixture" class="se.digia.sts.refdata.test.RefdataFixtureFactory"
factory-method="createFixture">
<property name="fixture" ref="fixtureImpl" />
</bean>
<bean id="fixtureImpl" class="se.digia.sts.refdata.test.RefdataFixtureService">
<tx:transaction method="initialise" value="RequiresNew" />
<jpa:context property="entityManager" unitname="refdataPU" />
</bean>
public class RefdataFixtureFactory {
private RefdataFixtureService fixture;
public void setFixture(RefdataFixtureService theFixture) {
fixture = theFixture;
}
public static RefdataFixtureService createFixture(long number) {
fixture.initialise()
return fixture;
}
}
> Injecting an entity manager using factory method
> ------------------------------------------------
>
> Key: ARIES-413
> URL: https://issues.apache.org/jira/browse/ARIES-413
> Project: Aries
> Issue Type: Improvement
> Components: JPA
> Affects Versions: 0.2
> Reporter: Bengt Rodehav
> Assignee: Timothy Ward
>
> It is only possible to use setter injection when injecting a JPA entity
> manager. The following injection types should also be supported since they
> are supported in the Blueprint spec:
> - Constructor injection
> - Factory method injection
> - Factory class injection
> An example of usage could be (using a factory method):
> <bean id="beanImpl" class="MyClass" factory-method="create">
> <argument>
> <jpa:context property="entityManager" unitname="myPU"/>
> </argument>
> </bean>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.