La transaction de spring ne s'engage pas

J'ai un problème étrange avec mes transactions ne pas commettre au spring. Après le profilage de la database, il semble que le spring engage la transaction avant qu'elle ne commence?

Voici ce que je vois le profiler ..

SQL:BatchStarting select 1 SQL:BatchCompleted select 1 SQL:BatchStarting IF @@TRANCOUNT > 0 COMMIT TRAN SQL:BatchCompleted IF @@TRANCOUNT > 0 COMMIT TRAN RPC:Completed exec vbosv_DLLVersion_Update 77,N'15',NULL,N'12.2.2.1',N'12.2.3.4' 

La transaction n'est pas validée dans ce cas mais si j'exécute un morceau de code après celui-ci qui appelle à nouveau la database, il validera la transaction précédente. Je pense qu'il commet alors parce qu'il commence par IF @@TRANCOUNT > 0 COMMIT TRAN .

J'ai utilisé la gestion des transactions déclarative et voici quelques unes de mes configs

 <!-- Transactional Advice --> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:atsortingbutes> <tx:method name="process*" rollback-for="Throwable"/> <tx:method name="write*" rollback-for="Throwable"/> <tx:method name="upload*" rollback-for="Throwable"/> <tx:method name="store*" rollback-for="Throwable"/> </tx:atsortingbutes> </tx:advice> <aop:config> <aop:pointcut id="dataServicesOperation" expression="execution(* com.enterprise.dataservices.DataServicesImpl.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="dataServicesOperation"/> </aop:config> 

Je suis un débutant de spring et sorte de perdu sur ce qui se passe ici. Merci pour votre aide!

Avez-vous @Rollback(false) sur la méthode de test de junit?