Bonjour.

Je me tourne vers vous, car après de longues recherches sur le net et sur developpez, je n'ai pas pu trouver de réponse à une question que je me pose.

Code xml : 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
 
    <!-- Transaction proxy template (abstract parent) for concise proxies definition -->
    <bean id="transactionProxyTemplate" abstract="true"
        class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        <property name="preInterceptors">
        	<ref bean = "performanceInterceptor"/>
        </property>
        <property name="transactionManager">
            <ref local="transactionManager" />
        </property>
        <property name="transactionAttributes">
            <props>
				<prop key="myMethod*">
					PROPAGATION_REQUIRES_NEW,-MyException
				</prop>
                                <prop key="myMethod2*>
                                       PROPAGATION_REQUIRED,-MyException
                                </prop>
                                <prop key="myMethod3*>
                                       PROPAGATION_NOT_SUPPORTED,-MyException
                                </prop>
 
blablabla....

Voici un extrait de mon fichier appCxt.xml.

Ce template est utilisé pour la plupart de mes beans pour gérer les transactions.

Bref, je n'arrive pas à trouver ce qui va se passer concrètement, quand ces méthodes vont s'exécuter.
PROPAGATION_REQUIRED, signifie que quand cette méthode va s'exécuter, elle va demander un contexte transactionnel, PROPAGATION_NOT_SUPPORTED, signifie que la méthode n'a pas besoin de contexte transactionnel pour s'exécuter, et enfin PROPAGATION_REQUIRES_NEW nécessite la création d'une nouvelle transaction même si une transaction existe déjà.

(Je passe sur les autres mots clés, PROPAGATION_NEVER etc...)

Bon, du coup, quand une méthode PROPAGATION_REQUIRED s'exécute, concrètement, il se passe quoi? Qu'est ce qui est bloqué? Qu'est ce qui est suspendu? A quel moment le blocage s'arrête??

Je n'arrive pas à trouver sur le net un document m'indiquant précisément et concrètement ce qu'il se passe !!!! Même sur le site de Spring...

Si quelqu'un peut me donner des tuyaux, où un lien indiquant ceci, je lui en serai reconnaissant !!

Merci