[ 
https://issues.apache.org/jira/browse/ARIES-413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12912916#action_12912916
 ] 

Bengt Rodehav commented on ARIES-413:
-------------------------------------

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.

Reply via email to