Configuration JTA/JPA/Spring dans Glassfish
bonjour a tous,
Cela fait maintenant quelque jours que je tente d'injecter des Beans Spring (des DAOs) dans mes EJBs et je galere..
En utilisant un persistence context RESSOURCE_LOCAL, en mettant les @Transactionnal qui vont bien et en utilisant un JpaTransactionManager cela fonctionne
MAIS.... je doit utiliser JTA... et la tout se complique..
je n'arrive pas a configurer Spring (mon entityManagerFactory je pense) pour qu'il se plug sur mon serveur (glassfish V2)
est-ce que je doit récupérer ma factory de JNDI ? est-ce qu'un org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean suffit ?
si vous pouviez m'eclairez..
mon applicationContext:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
<context:annotation-config />
<context:component-scan base-package="fr.plop" />
<tx:annotation-driven />
<!--<context:load-time-weaver />
-->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="seres" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.TopLinkJpaVendorAdapter" >
<property name="databasePlatform" value="oracle.toplink.essentials.platform.database.oracle.OraclePlatform" />
</bean>
</property>
<property name="loadTimeWeaver">
<bean class="org.springframework.instrument.classloading.glassfish.GlassFishLoadTimeWeaver"/>
</property>
</bean>
<bean name="transactionManager" id="transactionManager"
class="org.springframework.transaction.jta.JtaTransactionManager">
</bean> |
mon persistence.xml
Code:
1 2 3 4 5 6 7
|
<persistence-unit name="seres"
transaction-type="JTA">
<!--<provider>
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider
</provider>
--><jta-data-source>jdbc/monitoring</jta-data-source> |