Hoe wordt dit eigelijk gedaan? Ik dacht zelf aan een RMI mee te geven aan de server, zodat de server een call-back kan doen naar de client. Verder heb ik ook al wat ejb-vendor afhankelijke oplossingen gezien, maar hier ben ik niet echt blij mee.
*kick*
Ik heb verder nog even wat documentatie zitten doorlezen en het was niet echt gebruikelijk om een ejb een callback te laten doen.
Ik wil EJB gebruiken voor een expertsysteem, en binnen zo`n session-bean bevindt zich een redeneerproces. Als het redeneerproces niet genoeg gegevens heeft, dan moet het dus info van de gebruiker krijgen.
Ik kan de gebruiker iedere x seconden laten checken, maar dat vind ik ook maar zozo.. Wie heeft een betere oplossing?
Ik heb verder nog even wat documentatie zitten doorlezen en het was niet echt gebruikelijk om een ejb een callback te laten doen.
Ik wil EJB gebruiken voor een expertsysteem, en binnen zo`n session-bean bevindt zich een redeneerproces. Als het redeneerproces niet genoeg gegevens heeft, dan moet het dus info van de gebruiker krijgen.
Ik kan de gebruiker iedere x seconden laten checken, maar dat vind ik ook maar zozo.. Wie heeft een betere oplossing?
Verwijderd
Maak het asynchroon. Verstuur je request van je client bijvoorbeeld naar een JMS topic. Laat een MDB op te topic luisteren en het request doorsturen naar je sessionbean met de logica.
Je client gaat gewoon lekker verder waar hij mee bezig was terwijl je sessionbean aan het redeneren is. Je client luister verder nog wel naar een ander topic voor als er meer informatie nodig is. Als er dan meer gegevens nodig zijn, stuurt de sessionbean ook via jms een message naar de client, en de client stuurt dan weer de missende gegevens naar de server.
Zoiets ??
Je client gaat gewoon lekker verder waar hij mee bezig was terwijl je sessionbean aan het redeneren is. Je client luister verder nog wel naar een ander topic voor als er meer informatie nodig is. Als er dan meer gegevens nodig zijn, stuurt de sessionbean ook via jms een message naar de client, en de client stuurt dan weer de missende gegevens naar de server.
Zoiets ??
Ik had JSM ook al gezien, maar is dat niet overkill voor dit probleem?
Verwijderd
Valt wel mee denk ik (heb echter weinig concreet bewijs om het aan te tonen
). We gebruiken het hier zelf ook redelijk veel. In het begin van onze applicatie was zelfs heel de communicatie tussen de server en de clients JMS gebaseerd (met xml als request objecten).
Nu gebruiken we het om updates van de server naar de clients te distribueren en om updates van een aantal (jmx gebaseerde) services bij de beans te krijgen. Groot voordeel is dat alle services niks van de beans hoeven te weten. Ze gooien gewoon een update op een topic en voor de rest hebben ze niks om zich druk over te maken.
Nu gebruiken we het om updates van de server naar de clients te distribueren en om updates van een aantal (jmx gebaseerde) services bij de beans te krijgen. Groot voordeel is dat alle services niks van de beans hoeven te weten. Ze gooien gewoon een update op een topic en voor de rest hebben ze niks om zich druk over te maken.