J'ai une classe de service transactionnel:Spring: Comment engager la transaction avant d'entrer dans @AfterReturning conseils
@Service
@Transactional(...)
public class MyService() {
public void myFunc() {
// some code
}
}
également l'aspect suivant:
@Aspect
public class MyAspect() {
@AfterReturning(value = "execution(...") // pointcut matching myFunc()'s signature
public void doSomethingAfterMyFunc() {
// some code
}
}
Le problème que je suis face est que lors de la saisie du conseil @AfterReturning, la transaction créée à partir de l'exécution de myFunc() n'est pas encore validée, de sorte que le conseil partage la même transaction. De ce que j'ai lu ce comportement est à prévoir, mais pour mes fins j'ai besoin de l'opposé - est-il un moyen de valider la transaction myFunc() avant d'entrer dans le conseil?
Merci d'avance!
Définissez explicitement 'order' sur' @ EnableTransactionManagement' et '@ EnableAspectJAutoProxy'. Assurez-vous que ce dernier va en premier. –