foråret transaktion forvaltning

, en database transaktion er en række aktioner, der behandles som en enkelt enhed af arbejde.disse foranstaltninger bør enten fuldstændig helt eller ingen effekt overhovedet.transaktion forvaltning er en vigtig del af og rdbms orienterede virksomheder ansøgninger, for at sikre dataenes integritet og sammenhæng.begrebet transaktioner kan beskrives med følgende fire væsentlige egenskaber, der er beskrevet som syre:,,,, atomicity: en transaktion, skal behandles som en enkelt enhed af operation, som betyder, at enten hele den række af foranstaltninger er succes eller fiasko.,,,,,,, konsekvens:, udgør dette konsekvensen af den refererende integritet databasen, enestående primære nøgler i tabeller osv.,,,, isolation, der kan være mange transaktioner behandling med de samme oplysninger, der på samme tid, hver enkelt transaktion skal være isoleret fra andre for at forhindre dataforvanskning.,,,, holdbarhed: når en transaktion er afsluttet, og resultaterne af denne transaktion har at blive gjort permanent, og som ikke kan slettes fra databasen på grund af en systemfejl,.,,, en rigtig rdbms database vil sikre alle fire egenskaber for hver enkelt transaktion.den naive opfattelse af en transaktion, der udstedes til databasen ved hjælp af sql er som følger:,,, begynder den transaktion efter begynder transaktion, kommando.,,, udføre forskellige udgår, ajourføre eller indsætte operationer med sql forespørgsler.,,, hvis operationen er vellykket og udføre, forpligter, ellers rollback, alle operationer.,,, foråret ramme udgør en abstrakt lag oven på forskellige underliggende transaktion forvaltning api - grænseflader.foråret er transaktion støtte har til formål at skabe et alternativ til ejb transaktioner ved at tilføje transaktion evne til at pojos.foråret støtter begge programmer og erklærende transaktion forvaltning.ejbs kræver en applikationsserver, men foråret transaktion forvaltning kan gennemføres uden brug af applikationsserver, lokale og globale transaktioner, lokale transaktioner er specifikke for en enkelt statistik ressource, som en jdbc forbindelse, mens globale transaktioner kan spænder over flere transactional ressourcer som transaktion i et distribueret system. lokal transaktion forvaltning kan være nyttigt i en centraliseret edb - miljø, hvor anvendelse af komponenter og ressourcer, der er placeret på et enkelt sted, og transaktionen forvaltning kun drejer sig om en lokal dataadministrator løber på en enkelt maskine.lokale transaktioner er lettere at blive gennemført, global transaction forvaltning er nødvendig i et distribueret databehandling miljø, hvor alle ressourcer fordeles på flere forskellige systemer.i et sådant tilfælde transaktion forvaltning skal ske både på lokalt og globalt plan.et distribueret eller en samlet transaktion er gennemført på flere forskellige systemer, og dets gennemførelse kræver koordinering mellem den globale transaktion forvaltningssystem, og alle de lokale data forvaltere af alle involverede systemer, nye vs. erklæringer, foråret støtter to typer transaktioner forvaltning:,,, nye transaktion forvaltning. det betyder, at du har klare transaktionen hjælp af programmeringen.det giver dig en ekstrem fleksibilitet, men det er vanskeligt at bevare.,,, erklærende transaktion forvaltning. det betyder du særskilt transaktion forvaltning fra erhvervslivet.du skal kun bruge kommentarer eller xml - baserede konfiguration for at forvalte transaktioner.,,, erklærende transaktion forvaltning er at foretrække frem for nye transaktion forvaltning, selv om det er mindre fleksible end programmatisk transaktion forvaltning, som giver dem mulighed for at kontrollere transaktioner gennem din kode.men som en slags tværgående anliggende, erklærende transaktion forvaltning kan være modularized med bonusen for egne køb tilgang.foråret støtter erklærende transaktion forvaltning gennem foråret bonusen for egne køb ramme. foråret transaktion abstraktioner, nøglen til foråret transaktion abstraktion defineres af det, org.springframework.transaction.platformtransactionmanager, grænseflade, der er som følger: offentlig grænseflade platformtransactionmanager {transactionstatus gettransaction (transactiondefinition definition) kaster transactionexception; tomrum forpligte (transactionstatus status) kaster transactionexception; tomrum »rollback« (transactionstatus status) kaster transactionexception;}, s.n.method & beskrivelse 1, transactionstatus gettransaction (transactiondefinition definition), denne metode returnerer et aktivt i dag transaktion eller skabe et nyt, overenskomstsig til den, der er specificeret formeringsmateriale opførsel., 2, ugyldige forpligte (transactionstatus status), og denne metode forpligter den transaktion, med hensyn til dens status., 3, ugyldige »rollback« (transactionstatus status), og denne metode udfører en rollback af samme transaktion,.,,, transactiondefinition er kernen transaktionen støtte i foråret, og det er defineret som følger: offentlig grænseflade transactiondefinition (int getpropagationbehavior(); int getisolationlevel(); snor getname(); int gettimeout(); boolean isreadonly();}, s.n.method & beskrivelse 1, int getpropagationbehavior(), denne metode giver formering opførsel.foråret er hele transaktionen formering muligheder bekendt fra ejb cmt., 2, int getisolationlevel(), denne metode vender tilbage til, i hvor høj grad denne transaktion er isoleret fra det arbejde, der udføres af andre transaktioner., 3, streng getname(), denne metode afkast, navnet på denne transaktion., 4, eller gettimeout(),, denne metode giver i sekunder, hvor transaktionen skal gennemføre., 5, boolean isreadonly(), denne metode vender tilbage, om transaktionen er rom.,, der er følgende mulige værdier for dyrkning:, s.n.isolation & beskrivelse 1, transactiondefinition. isolation_default, det er standard isolation niveau. 2, transactiondefinition. isolation_read_committed, viser, at beskidte læser forhindres; ikke - gentagnestabile læser og fantomet læser kan forekomme., 3, transactiondefinition. isolation_read_uncommitted, viser, at beskidte læser, ikke gentages læser og fantomet læser kan forekomme., 4, transactiondefinition. isolation_repeatable_read, viser, at beskidte læser og ikke gentages læser forebygges phantom læser kan forekomme., 5, transactiondefinition. isolation_serializable, angiver det beskidte læser, ikke gentages læser og fantomet læser forhindres.,, der er følgende mulige værdier for formering typer:, s.n.propagation & beskrivelse 1, transactiondefinition. propagation_mandatory, støtte en løbende transaktion, kast en undtagelse, hvis der ikke findes aktuelle transaktion., 2, transactiondefinition.propagation_nested, udfører inden for en indlejredetransaktion, hvis en løbende transaktion eksisterer., 3, transactiondefinition.propagation_never, ikke støtte en løbende transaktion, kast en undtagelse, hvis en løbende transaktion eksisterer., 4, transactiondefinition.propagation_not_supported, ikke støtte en løbende transaktion, men altid gennemføre ikke - transactionally., 5, transactiondefinition.propagation_required, støtte en løbende transaktion; skabe en ny, hvis det ikke findes, 6, transactiondefinition.propagation_requires_new, skabe en ny transaktion, suspenderer den aktuelle transaktion, hvis det findes, 7, transactiondefinition.propagation_supports, støtte en løbende transaktion; gennemføre ikke - transactionally, hvis det ikke findes, 8, transactiondefinition.timeout_default, anvendes den default "timeout" af den underliggende transaktion, hvis systemet, eller ingen timeouts understøttes ikke.,,, transactionstatus, grænseflade er en enkel måde til transaktionsbaseret kode til at kontrollere transaktion, udførelse og forespørgsel transaktionsstatusen. offentlig grænseflade transactionstatus udvider savepointmanager {boolean isnewtransaction(); boolean hassavepoint(); tomrum setrollbackonly(); boolean isrollbackonly(); boolean iscompleted();}, s.n.method & beskrivelse 1, boolean hassavepoint(), denne metode vender tilbage, om denne transaktion internt har en savepoint, der er skabt med indlejrede transaktioner baseret på et savepoint., 2, boolean iscompleted(), denne metode vender tilbage, om denne transaktion er afsluttet, det vil sige, om detallerede har begået eller rullede tilbage., 3, boolean isnewtransaction(), denne metode vender rigtigt, hvis denne transaktion er ny., 4, boolean isrollbackonly(), denne metode vender tilbage, om transaktionen er blevet karakteriseret som rollback., 5, ugyldige setrollbackonly(), denne metode fastlægger transaktion kun rollback.,,



Previous:
Next Page: