Salut tout les springeurs 
J'ai un projet spring avec Jotm:
Ma datasource est :
1 2 3 4 5 6 7 8 9 10 11 12
|
<bean id="dataSource"
class="org.apache.commons.dbcp.managed.BasicManagedDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url"
value="jdbc:oracle:thin:@${datasource.host}:${datasource.port}:${datasource.sid}" />
<property name="username" value="${datasource.user}" />
<property name="password" value="${datasource.password}" />
<property name="defaultAutoCommit" value="false" />
<property name="transactionManager" ref="jotm" />
</bean> |
Le bean jotm :
1 2 3 4 5 6
|
<bean id="jotmFactory" class="com.mule.extras.jotm.JotmTransactionManagerFactory">
<property name="defaultTimeout" value="60"/>
</bean>
<bean id="jotm" factory-bean="jotmFactory" factory-method="create"/> |
Mon problème est avec:
<property name="defaultAutoCommit" value="false" />
pas de persistance des données à la base.
si je la met à true ou si je supprime cette ligne entièrement alors les données seront persister dans la base mais avec cette solution j'ai peur que si une exception se produit au cours de la transaction, une partie des données sera persister et une autre sera ignoré, comme si la transaction n'est pas élémentaire.
Alors ma question :
Est ce que ma configuration(datasource et transaction avec Jotm) est bonne ?
Et comment je dois faire pour assurer que la transaction soit entièrement persister ou rejeter et que dois-je faire avec cette propriété defaultAutoCommit.
Merci
Partager