Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

JBoss i transakcije nad bazom

[es] :: Java :: JBoss i transakcije nad bazom

[ Pregleda: 4585 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zmau
Dragan Jovanović
programer
Šabac

Član broj: 80834
Poruke: 290
*.43.eunet.yu.



+80 Profil

icon JBoss i transakcije nad bazom19.12.2006. u 01:59 - pre 210 meseci
Kako se definišu transakcije nad bazom podataka na JBossu, obzirom da on ne dozvoljava da se nad njegovim konekcijama ručno setuje autoCommit mode ? Njegovo objašnjenje je da on brine o transakcijama pa zato ne dozvoljava meni da razmišljam o tome. Ali kako onda, avaj, da mu kažem za koju sekvencu upita nad bazom ja želim da mi predstavljaju transakciju ?


it works on my machine
 
Odgovor na temu

dejankr
Dejan Krsmanovic
JavaEE programer
Beograd

Član broj: 7842
Poruke: 384
*.sbb.co.yu.



+1 Profil

icon Re: JBoss i transakcije nad bazom19.12.2006. u 08:24 - pre 210 meseci
Jedna od funkcija aplikativnog servera poput JBossa je da se brine o transakcijama. S obzirom da pored baze postoje i drugi trasakcioni resursi (poput JMS topic-a i queue-a) nije preporučljivo koristiti direktno JDBC transakcije već JTA (Java Transaction API). Što se tvog koda tiče, način rada je prilično sličan.

Ako koristiš EJB onda transakcije možeš definisati deklarativno, kroz deployment deskriptore. Ukratko, za svaki EJB metod možeš definisati da li se pridružuje postojećoj transakciji, započinje novu itd. Ako je sve u redu, aplikativni server će sam izvršiti commit, a ako se desi Exception - rollback. Ovaj način se zove CMT ili Container Managed Transactions. Alternativa je Bean Managed Transactions gde sam pozivaš begin, commit i rollback.

Najbolje bi bilo da pogledaš neki tekst o JTA. Na primer ovo je deo iz J2EE tutorijala http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Transaction.html
Ako se dobro sećam postoji deo u JBoss Tutorijalu koji se ovime bavi.
 
Odgovor na temu

hyle
Perica Milošević
Belgrade

Član broj: 30030
Poruke: 150
82.117.206.*

Sajt: www.linkedin.com/in/peric..


+4 Profil

icon Re: JBoss i transakcije nad bazom19.12.2006. u 08:47 - pre 210 meseci
Veći deo svojih potreba ćeš rešiti time što ćeš u deployment descriptorima opisati za svaku od metoda session bean-a da li ulazi u pokrenutu transakciju, pokreće novu, ne dozvoljava transakciju....

Ako hoćeš eksplicitnu kontrolu na transakcijom, evo primera:
Code:

   UserTransaction transaction = sessionContext.getUserTransaction();

   try {
      transaction.begin();
      
      // ovde idu pozivi nekih operacija 
      // koje ulaze u transakciju

      transaction.commit();
   } catch (Exception ex) {
       try {
          transaction.rollback();
       } catch (Exception ex2) {
           throw new EJBException(ex2);
       }
       throw new EJBException(ex);
    }

 
Odgovor na temu

zmau
Dragan Jovanović
programer
Šabac

Član broj: 80834
Poruke: 290
*.125.eunet.yu.



+80 Profil

icon Re: JBoss i transakcije nad bazom21.12.2006. u 15:01 - pre 210 meseci
Hm, kolko sam ja ukapirao, to što vas dvojica pominjete je vezano za ejb2 tehnologiju. Ja koristim ejb3 koji se od ejb2 razlikuje uglavnom po tome što se mnogo manje koriste deskriptori i slične prateće stvari, i što ne postoje pojmovi biznis metoda, create metoda etc, nego su binovi obične java klase. Tako da mi deluje da ovo što sam čituckao na linku koji je Dejan naveo nema puno veze s mojom pričom. Ili grešim ?
Sad jurcam literaturu za jboss i ejb3 i možda tu iskopam nešto.

[Ovu poruku je menjao zmau dana 21.12.2006. u 17:02 GMT+1]
it works on my machine
 
Odgovor na temu

hyle
Perica Milošević
Belgrade

Član broj: 30030
Poruke: 150
82.117.206.*

Sajt: www.linkedin.com/in/peric..


+4 Profil

icon Re: JBoss i transakcije nad bazom21.12.2006. u 15:42 - pre 210 meseci
OK, jesu bean-ovi obične Java klase ali su koncepti ostali isti. I kod EJB3 možeš za metode session bean-ova definisati ponašanje po pitanju transakcije.

Glavne razlike (olakšice) u radu sa session bean-ovima između EJB2 i EJB3 su sledeće:
1. Ne moraš da implementiraš Home i Remote interfejs
2. Konfiguracija ne mora da se nalazi u xml fajlu već možeš koristiti anotacije.
3. Ne moraš da implementiraš metode activate(), pasivate(), remove(), setSessionContext...
 
Odgovor na temu

Black
Belgrade

Član broj: 4199
Poruke: 71
*.maksnet.net.



Profil

icon Re: JBoss i transakcije nad bazom21.12.2006. u 20:05 - pre 210 meseci
Za jednostavnije probleme ti je dovoljno da imas u vidu da jedna metoda session bean-a predstavlja jednu transakciju nad bazom. O tome brine server, i nema potrebe da eksplicitno zapocinjes transakciju i radis commit. I to je tako bez obzira koji server koristis.
 
Odgovor na temu

zmau
Dragan Jovanović
programer
Šabac

Član broj: 80834
Poruke: 290
*.174.eunet.yu.



+80 Profil

icon Re: JBoss i transakcije nad bazom22.12.2006. u 00:04 - pre 210 meseci
Sjajno. Tako nešto sam i pretpostavio danas popodne čituckajući.
Hvala svoj trojici.
it works on my machine
 
Odgovor na temu

[es] :: Java :: JBoss i transakcije nad bazom

[ Pregleda: 4585 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.