Java EE组件之间的通知

我有设计问题。

我的应用程序有多个Java EE组件,简单来说,一个充当服务提供者(非UI),另一个充当消费者(UI webapp)。

消费者在启动期间从服务提供者获取配置数据(这基本上是从DB读取数据)并将其存储在Cache中。

在定期时间之后刷新缓存以反映在数据库中完成的任何更改。

问题

除了缓存刷新之外,我还想在有人更改数据库时通知消费者,配置已更改,请重新加载。

我可以使用哪些通知机制来实现此目的?

我会选择JMS主题/队列。 生产者在主题上发送“REFRESH_CACHE”消息,并且所有消费者都在听这个消息

我会用一个主题。 当数据库发生更改时,您可以向主题发送消息,并且所有客户端都可以收听消息,可以显示消息。

看一下Observer设计模式。 您可以将消费者存储在列表中,并在发生有趣事件时通知他们。

您可能需要OBSERVER模式。
它使用Callback通知消费者(您的UI应用程序)。 您可以使用JMS进行通知。