Transaction tukea on saatavilla J2EE osana EJB komponentin arkkitehtuurin. Yksinkertainen sovellus, joka ei aio jaetaan useita palvelimia liiketoimi tukea, joka on saatavilla keväällä on enemmän kuin tehokas.
Kevät tarjoaa muutamia vaihtoehtoja, kun se tulee transaction management. Yleisimmin käytetty vaihtoehto on Deklaratiivinen liiketoimet, koska se on vähiten vaikutusta sovelluksen koodi. Kuitenkin käytin Ohjelmalliset Transaction vaihtoehto tämä oli helpoin toteuttaa arkkitehtuurin että olin työskennellyt.
Monet, jotka yrittävät yhdistää keväänä perintökaaressa voi löytää tämän parhaiten toteutettavissa vaihtoehto myös. Tässä ovat vaiheet että käytin.
Ensin muutettu JBoss-spring.xml tiedosto sisältää papu viittaus JTA Transaction Manager.
JBoss-spring.xml Sitten luokkaa, että halusin käyttää liiketoimiin Lisäsin viittaus papu kuin kiinteistön JBoss-spring.xml tiedosto. Sitten tarvitaan lisää joitakin tuonnin todellinen Java-luokka, joka sisältäisi kaupallisen viittauksia. Lisätoimintoja että minun täytyi lisätä liittyvät kevään liiketoimet lihavoitu. BookMgmtHandler.java Tuo org.springframework.transaction.PlatformTransactionManager; tuonti org.springframework.transaction.TransactionDefinition; tuonti org.springframework.transaction.TransactionStatus; tuonti org.springframework.transaction.support. DefaultTransactionDefinition; public class BookMgmtHandler {BookDAO BookDAO = null; BookDataAggregator BookDataAggregator = null; yksityinen PlatformTransactionManager transactionManager = null; yksityinen TransactionDefinition getDefinition () {DefaultTransactionDefinition def = uusi DefaultTransactionDefinition (TransactionDefinition.PROPAGATION_REQUIRED); palata def;} julkisen Kirja saveBook (Kirja kirja) heittää BOOKException {Varaa retBook = null; TransactionStatus tila = transactionManager. getTransaction (getDefinition ()); //Laittaa lohko pyyntiin poikkeuksia rollback liiketoimen try {BookDAO.updateBook (kirja); retBook = BookDataAggregator.getBook (book.getBookID ());} catch (BOOKException olla) {transactionManager.rollback (tila), heittää olla,} transactionManager.commit (tila); palata retBook;} public void setTransactionManager (PlatformTransactionManager platformTransactionManager) {this. transactionManager = platformTransactionManager;}} Ja se on siinä! Mikä on sivuston peittämistä?