我们有许多相关的Java Spring应用程序在我们的服务器上运行。让我们称他们为App1,App2 & App3。按照标准,所有这些都使用common-utils.jar中的通用代码。我希望这些应用程序(App1,App2 & App3)将其状态广播到一个或多个远程监听器。对于例如 App1:我未能读取文件abc。 App2:我使用了超过90%的堆空间等。JMX通知设计
这些事件的监听者将采取特定的操作,例如根据收到的通知向支持人员和/或客户端发送电子邮件。
我能想到的最佳解决方案是在our-common-utils.jar中启用NotificationSender JMX(实现NotificationBroadcasterSupport)bean。这将有一个消息从通知队列中消耗,并将sendNotification()发送给每个通知的侦听器。这将由我们的生态系统中的每个应用程序完成,但使用common-utils的通用代码。
您是否发现此设计中存在任何缺陷?任何更有效的方法/框架?
非常感谢:)