Win a copy of Java Mock Exams (software) this week in the Programmer Certification (OCPJP) 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
 
What are you doing? You are supposed to be reading this tiny ad!
the new thread boost feature brings a LOT of attention to your favorite threads
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!