> Zakaznik ma aplikaci, ktera neni psana v Jave (nemuze/nechce JTS/JTA). > Jednotlive komponenty te aplikace budou mezi sebou posilat zpravy pres > JMS vrstvu a potrebuji transakce.
Udelejte command, ktery bude ve vasem pripade zapouzdrovat transakci z vaseho pohledu. Command se posle jako JMS zpravu nejakemu CML (centralni mozek lidstva ;-). Soucasti commandu budou informace, podle kterych se CML rozhodne jake dalsi kroky se maji vykonat. Idealni bude, aby jakakoliv dalsi operace byla opet JMS zprava. CML rozesle dcerine zpravy odpovidajici commandu, aby byla zajistena konzistence, musi mit command svoje jednoznacne id, toto id se dale musi propagovat do vsech dcerinnych zprav, ktere vzniknou z puvodniho commandu. Po zpracovani dcerinych zprav jejich zpracovatel zpetne notifikuji CML (opet pomoci zpravy) ze zprava s danym id byla zpracovana a jeji status (ok, failure). CML si podstive zapisuje vysledky dcerinych operaci a zaroven ma jednou za cas naplanovanou udrzbu. Behem udrzby bude kolektovat vysledky daneho commandu (provaze pres id), pokud zjisti, ze to nedopadlo dobre, odesle vsem participantum zpravu, podle ktere bude moci dojit k zotaveni tj. provede se kompenzace. Takhle nejak by to teoreticky mohlo fungovat... -- S pozdravem Roman "Dagi" Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */
