Archief - EJB - JMS queue aanspreken wanneer entity bean wordt gecommitted

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

forloRn_

Legacy Member
Goeiemiddag,

Ik heb een CMT stateless session bean die in één van zijn methods twee dingen doet:

1) een setter aanroepen op een CMP entity bean (een record wijzigen in de DB)
2) een Message op een JMS queue zetten

Die Message komt dan terecht bij een message-driven bean, die een query doet op de DB, wat berekeningetjes uitvoert en de records updatet.

Het probleem is dat de transactie in stap 1 moet gecommittet zijn vooraleer de MDB de query mag doen; die commit gebeurt echter pas nadat de method in de session bean returnt en ondertussen heeft de MDB zijn query al uitgevoerd (en haalt hij dus een oude waarde op).

Kan ik die zaken op één of andere manier synchroniseren? Ik dacht dat de oplossing lag in de SessionSynchronized interface, maar die is enkel bruikbaar op stateful session beans. :(
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan