Bonjour,

J'ai une fonctionnalité X qui est implémenté par un EJB singleton. Donc au plus un EJB par JVM. Cette fonctionnalité utilise des données peu changeante. Genre c'est prévu de changer de l'ordre de une fois par semaine, mais sans planning précis (action manuelle). Cette fonctionnalité sera appelée plusieurs fois par minutes voir par seconde. Donc pour des raisons de perfs, on n'interroge pas à chaque fois la DB, on garde les données en cache, d'autant qu'elles sont peu nombreuses. Je voudrais savoir comment vous feriez pour que, lorsque les données changent, on appelle une méthode refresh() sur chaque instance pour recharger les données? J'avais pensé à un event CDI, mais à ma connaissance et pour ce que j'en ai testé, ces events sont locaux à la jvm, il n'y a pas de bus cluster-wide.

Je pourrais enregister les singletons sur une topic, mais je ne sais pas trop comment faire. Je ne pense pas qu'on puisse être à la fois message driven et singleton...
Bref, je cherche des idées

Wildfly 9 / java 8 est utilisé.