Announcement Announcement Module
No announcement yet.
AOP sping Transaction in service layer Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • AOP sping Transaction in service layer

    Hi all,

    I am trying to use spring AOP for transaction support in service layer, but it's not working please provide me the solution.

    In my application i am using spring and hibernate.
    following steps i have done to implement the transaction if i have missed any thing please guide me.

    class PersonServiceProvider{
    public void createPerson(...){
    calling the persistence layer for storing

    in each persistence layer am using the hibernate transaction for saving the data.
    and xml configuration is
    <tx:advice id="txAdvice" transaction-manager="txManager">
    <tx:method name="createPerson*" rollback-for="Throwable" propagation="NESTED"/>

    <aopointcut id="fooServiceOperation" expression="execution(* com.user.service.PersonServiceProvider.*(..))"/>
    <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation"/>

    when an exception is raised in middle of PersonServiceProvider createPerson() method it's not rollbacking the data.
    what should i need to rollback the data if an exception is raised.

  • #2
    Please use [ code][/code ] tags when posting code that way it remains readable.

    Issues with transactions and the setup have been answered numerous times before so please use the forum search.

    MOst commonly

    1. Duplicate component-scanning leading to proxied and non proxied instances (see also 2).
    2. Wrong transaction setup (beans in root context, tx config in child context or vice-versa)
    3. Non-transactional database (MySQL with ISAM tables)
    4. Expecting non spring managed beans to be transactional


    • #3
      Hi all,

      I tried AOP transaction in stand alone application its working, but its not working in web application.
      Can any one suggest me. I followed same approach for both the ways.