Basic Spring Transactions
Spring offers a few options when it comes to transaction management. I used the Programmatic Transaction option this was the easiest to implement in the architecture that I was working with. Here are the steps that I used.
Transaction support is available in J2EE as part of the EJB component architecture. For a simple application that is not going to be distributed among many servers the transaction support that is available in Spring is more than efficient.
Spring offers a few options when it comes to transaction management. The most commonly used option is Declarative Transactions because it has the least impact on application code. However, I used the Programmatic Transaction option this was the easiest to implement in the architecture that I was working with. Many who are trying to integrate Spring with legacy code may find this the most feasible option as well. Here are the steps that I used.
First I modified the jboss-spring.xml file to include a bean reference to the JTA Transaction Manager.
jboss-spring.xml
Then in the classes that I wanted to use transactions I added a reference to the bean as a property in the jboss-spring.xml file.
I then needed to add some imports to the actual Java class that would contain the transactional references. The additional functions that I needed to add related to Spring transactions are highlighted in bold.
BookMgmtHandler.java
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.support.DefaultTransactionDefinition;
public class BookMgmtHandler {
BookDAO BookDAO = null;
BookDataAggregator BookDataAggregator = null;
private PlatformTransactionManager transactionManager = null;
private TransactionDefinition getDefinition() {
DefaultTransactionDefinition def = new DefaultTransactionDefinition(TransactionDefinition.PROPAGATION_REQUIRED);
return def;}
public Book saveBook(Book book) throws BOOKException {
Book retBook = null;
TransactionStatus status = transactionManager.getTransaction(getDefinition());
// put a block for catching exceptions to rollback the transaction
try {
BookDAO.updateBook(book);
retBook = BookDataAggregator.getBook(book.getBookID());}
catch (BOOKException be){
transactionManager.rollback(status);throw be;}
transactionManager.commit(status);
return retBook;}
public void setTransactionManager(PlatformTransactionManager platformTransactionManager) {this.transactionManager = platformTransactionManager;}
}
And that's it!
Nothing Found!
Why not submit your own content? Signup here.
-
Javascript functions for : trim, right trim, left trim, no Apostrophe, is Empty , is Digit , VarChar To Number , is integer , check Is Zero , Get Que | By xxris | in Programming
Javascript functions for : trim, right trim, left trim, no Apostrophe, is Empty , is Digit , VarChar To Number , i...
-
How to access and use a Window's command line | By MaxwellPayne | in Programming
Learn about the Window's command line in DOS and how to use it....
-
Zen Cart Development – Improved Open Source for Shopping Cart | By dainawill | in Programming
Main task of every online merchant is not only to launch the online store successfully but to keep it on the same l...
-
How to Learn to Program Your Computer | By dsj8760 | in Programming
This article is about learning to program a computer. It is a general article giving tips on how to learn about pro...
-
Jailbroken iPhones get RickRolled | By explorer | in Programming
First iPhone worm, attacks via SSH and does the classic rick roll gag on the user....
Nothing Found!
Why not submit your own content? Signup here.








No comments yet.