05. januar 2004 - 20:28Der er
11 kommentarer og 1 løsning
Styring af samtidighed med EJB
Hejsa Eksperter
Jeg har fået lavet et dist. lagerstyringssystem der indeholder et centralt lager med en database, som så kan tilgåes af flere klienter gennem en browser.
Mit spørgsmål er nu: Kan det ske at 2 brugere kan ændre attributter på samme vare, eller bliver det automatisk håndteret af EJB containeren? Har bare læst at mange benytter "Version Numbering Pattern" til samtidighedskontrol.
Hvis du bruger rene database operationer i form af en serie SQL statements, så vil EJB containerens og databasens transaktioner beskytte mod samtidigheds problemer.
Hvis du bruger "hent data" + "manuel editering af data" + "gem rettede data", så kan hverken EJB containeren eller databasen beskytte dig mod samtidigheds problemer.
Det problem løses typisk med Version Number Pattern. Som er meget brugt i J2EE sammenhæng.
Nu skal det lige siges at jeg er ret ny til J2EE og ved ikke helt hvad du mener med: Hvis du bruger "hent data" + "manuel editering af data" + "gem rettede data"?
client (web browser eller Swing GUI) henter en record, brugeren sidder og kigger lidt på den og retter i den i en 1-5 minutter, hvorefter brugeren måske klikker gem record
I sidste ende vil det altid være via JDBC og SQL statements.
Men set fra din applikations side kan du bruge: - direkte JDBC fra web app - direkte JDBC fra session beans - CMP entity beans - et persisterings framework baseret på JDO
okay så det du siger er altså at hvis man bruger Container Managed Persistent entity beans så vil det være relevant at bruge Version Number Pattern? Sorry hvis jeg spørger meget men det er fordi at jeg gerne vil kunne introducere dette pattern når jeg skal til eksamen.
Version Number Pattern vil være relevant for det jeg kalder "hent data" + "manuel editering af data" + "gem rettede data" funktionalitet uanset om du bruger CMP, JDO eller JDBC (eller C eller Visual Basic og ADO).
Lige en sidste ting: ved CMP står containeren selv for styring af sql kald til DB som jeg har forstået det.
Vil det sige at det er fordi at de data der trækkes op smides i en entity bean og der derved kan være 2 bønner med samme data der bliver rettet af 2 forskellige brugere eller systemet at det vil være klogt at bruge Version number pattern?
Hvis du gerne vil have nogle ekstra point for de ekstra spørgsmål skal du bare sige til
Okay mange tak for svarene. Nu vil jeg heller ikke forstyrre mere ;-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.