> To, co chcete, je zneuzitie JMS. AFAIK to nikto oficialne nerobi...

Ja bych to nenazyval zneuzitim. Docela dost dobre se to da na
technologii JMS postavit, vzdyt napriklad end-to-end synchronni
komunikace sama o sobe JMS specifikace neresi, ale ve clanku 10.1.6
nevylucuje pouziti tohoto pristupu (doslova se tam pise, ze aplikace
sama si muze vytvorit mechanismus potvrzovani doruceni).

> JMS transaction support konci odoslanim, resp prijatim spravi. Medzi tym nie
> je nic (by design), na com by sa dalo stavat.

Ano, jeste mozna snad doplnim, ze mnohe implementace pridavaji podporu
XA transakci, coz v podstate  znamena, ze JMS zprava muze byt soucasti
nejake distribuovane transakce. Co ovsem potrebuji je nad JMS vytvorit
nejaky Transaction Broker, ktery to bude resit. Ze bude JMS nastrojem
pro TB uz je vec jina, myslim si, ze to neni zadne neprirozene
zneuziti. Nektere messagingove systemy dokonce nabizeji prostredky pro
notifikace, synchronni potvrzovani a podobne.

> Navyse, kazda JMS sprava je osobitna, samostatna (by design again), ich
> poradie je negarantovane (zvlast ak vasa aplikacia bude bezat v clusteri
> alebo bude mat viac konkurentnych listenerov - typicke MDB) a spajat ich do
> jednej transakcie je, ehm, ruhanie (blasphemy) ;-)

No to mate pravdu, ale paklize si nad tim postavim aparat potvrzovani,
pak me poradi nezajima. Jen male upresneni - poradi prijmu zprav je
garantovane v ramci jedne session. Samozrejme ale casto pouzivame vice
prijemcu, a tam uz to nelze zarucit.

> Dobra rada - ak to uz chcete robit, nemozete posielat samostatne spravy, ale
> celu "transaction unit" musite zabalit do jednej spravy... Myslim, ze vsetko
> ostatne je z principu z pohladu JMS zle...

Ano, predstavoval bych si to tak, ze jedna transakce prijde v jedine
zprave, tu prijme nejaky transakcni zpracovatel, ktery zpravy
distribuuje prijemcum a provede commit. Teprve pote vrati vysledek
odesilateli.

>  Ale mozne je samozrejme vsetko, ja len tvrdim, ze JMS nie je right tool for
> the job :-)

Moc diky za reakci.

-- 
Lukas Zapletal
http://lukas.zapletalovi.com

Odpovedet emailem