Transaktions stöd finns i J2EE som en del av EJB komponentarkitektur. För ett enkelt program som inte kommer att fördelas mellan många servrar transaktionsstöd som finns under våren är mer än effektiv. Omdömen
Våren erbjuder några alternativ när det gäller transaktionshantering. Den vanligaste alternativet är Deklarativa transaktioner eftersom det har minst påverkan på programkoden. Men jag använde Programtransaktions option var det enklaste sättet att genomföra i arkitekturen som jag jobbade med.
Många som försöker integrera våren med äldre kod kan finna den mest genomförbara alternativet också. Här är de steg som jag använde. Omdömen
Först vill jag ändrat jboss-spring.xml fil för att inkludera en böna hänvisning till JTA Transaction Manager. Omdömen
JBoss-spring.xml Sedan i de klasser som jag ville använda transaktioner jag lagt till en hänvisning till bönan som en fastighet i JBoss-spring.xml Omdömen fil. Jag behövde sedan lägga till några import till den faktiska Java klass som skulle innehålla transaktions referenser. De ytterligare funktioner som jag behövde för att lägga till relaterade till Spring transaktioner markeras med fet stil Omdömen BookMgmtHandler.java Omdömen import org.springframework.transaction.PlatformTransactionManager. import org.springframework.transaction.TransactionDefinition; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support. DefaultTransactionDefinition, Omdömen public class BookMgmtHandler {BookDAO BookDAO = null; BookDataAggregator BookDataAggregator = null; privat PlatformTransactionManager transactionManager = null; privata TransactionDefinition getDefinition () {DefaultTransactionDefinition def = new DefaultTransactionDefinition (TransactionDefinition.PROPAGATION_REQUIRED); återvända def;} Omdömen offentliga Book saveBook (Boka) kastar BOOKException {Boka retBook = null; TransactionStatus status = transactionManager. getTransaction (getDefinition ()); //Sätta ett block för att fånga undantag rulla tillbaka transaktionen try {BookDAO.updateBook (bok); retBook = BookDataAggregator.getBook (book.getBookID ());} catch (BOOKException vara) {transactionManager.rollback (status), kasta vara;} transactionManager.commit (status); tillbaka retBook;} Omdömen public void setTransactionManager (PlatformTransactionManager platformTransactionManager) {this. transactionManager = platformTransactionManagerVad är webbplats cloaking?
net Användar Control