Hoe kun je het beste omgaan met veroudering van objecten? In mijn geval heb ik een erg complex object (een ruleengine) die kan verouderen doordat op de ruleengineserver een nieuwe is geplaatst. Hoe kan ik het beste de client laten weten dat er een nieuwe engine is, en hoe moet je omgaan als hij nog midden in een langdurig proces zit. Als je doorgaat loopt hij dus te werken met een verouderde (en eventueel incorrecte) ruleengine, maar als je hem laat stoppen dan gaat er misschien een lading werk verloren.
Ik had zelf al zitten denken aan messages versturen via een jms server. De client die registreerd zich bij de jms-server als listener voor een bepaalde rule-engine. En als op de server een nieuwe ruleengine komt, verstuur je een event naar de jms server voor dat topic en dan moeten de clients hun werk maar doen.
Persoonlijk vind ik dit wel een redelijk zware oplossing en er moet ook een extra service draaien wat zorgt voor extra complexiteit. Je zou hetzelfde in principe ook voor elkaar kunnen krijgen met een beetje rmi.
Ik had zelf al zitten denken aan messages versturen via een jms server. De client die registreerd zich bij de jms-server als listener voor een bepaalde rule-engine. En als op de server een nieuwe ruleengine komt, verstuur je een event naar de jms server voor dat topic en dan moeten de clients hun werk maar doen.
Persoonlijk vind ik dit wel een redelijk zware oplossing en er moet ook een extra service draaien wat zorgt voor extra complexiteit. Je zou hetzelfde in principe ook voor elkaar kunnen krijgen met een beetje rmi.
[ Voor 4% gewijzigd door Alarmnummer op 24-04-2004 17:03 ]