Transaksjonsstøtte er tilgjengelig på J2EE som en del av EJB komponentarkitektur. For et enkelt program som ikke kommer til å bli distribuert blant mange servere transaksjonen støtte som er tilgjengelig på Våren er mer enn effektiv.
Spring tilbyr noen alternativer når det gjelder transaksjonshåndtering. Den mest brukte alternativet er Deklarativ Transaksjoner fordi den har minst innvirkning på applikasjonskode. Men jeg brukte Transaksjons alternativet programma dette var den enkleste å implementere i arkitekturen som jeg jobbet med.
Mange som prøver å integrere Spring med eldre kode kan finne dette den mest gjennomførbare alternativet også. Her er fremgangsmåten som jeg brukte.
Først endret jeg JBoss-spring.xml fil for å inkludere en bønne referanse til transaksjonsstyrer JTA.
JBoss-spring.xml < .no> Så i klassene som jeg ønsket å bruke transaksjoner jeg lagt en referanse til bønne som en eiendom i JBoss-spring.xml fil. Jeg deretter trengte å legge til noen import til selve Java-klasse som ville inneholde transaksjons referanser. Tilleggsfunksjonene som jeg trengte å legge relatert til Spring transaksjoner er uthevet med fet skrift 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; privat PlatformTransactionManager transactionManager = null; privat TransactionDefinition getDefinition () {DefaultTransactionDefinition def = new DefaultTransactionDefinition (TransactionDefinition.PROPAGATION_REQUIRED); returnere def;} offentlig Book saveBook (Bok bok) kaster BOOKException {Book retBook = null; TransactionStatus status = transactionManager. getTransaction (getDefinition ()); //Sette en blokk for å fange unntak tilbake transaksjonen prøve {BookDAO.updateBook (bok); retBook = BookDataAggregator.getBook (book.getBookID ());} catch (BOOKException være) {transactionManager.rollback (status), kast være;} transactionManager.commit (status); returnere retBook;} public void setTransactionManager (PlatformTransactionManager platformTransactionManager) {this. transactionManager = platformTransactionManager;!}} Og Hva er nettsiden tildekking?