Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

AOP sping Transaction in service layer

 
Madhava Reddy Solipuram
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
eg personPersistence.save(..);
addressPersistence.save();
}
}

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:attributes>
<tx:method name="createPerson*" rollback-for="Throwable" propagation="NESTED"/>
</tx:attributes>
</tx:advice>

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

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.
 
James Boswell
Bartender
Posts: 1051
5
Chrome Eclipse IDE Hibernate
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think you need
 
Madhava Reddy Solipuram
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
James Boswell wrote:I think you need


Thanks for your quick replay.
I tried that also but no change when an exception is raised data is not rollbacking.
 
Madhava Reddy Solipuram
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Madhava Reddy Solipuram
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The problem is handling the exceptions in service layer. After removing try catch transaction worked normally
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic