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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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>