添加消息存储 spring 集成 dsl
Add message store spring integration dsl
我目前正在考虑添加对我的应用程序中经过的所有消息进行实时跟踪的选项。
我已经启用了 messagehistory 所以从技术上讲我会得到流程中发生的所有步骤。
现在我想使用 CQEngine 将每条消息与历史记录一起存储在磁盘缓存中,因为它有很好的支持并且非常快。
然后从 UI 我将使用 GraphVIZ 显示消息和历史记录并显示,以便用户可以实际看到每条消息的生命周期图表。
选项#01
在每个流中的 handle() 方法中添加调用以在磁盘缓存中异步添加消息和历史记录。
但这意味着每次新流程我都必须手动执行此操作。
Is there any option 02 I can utilize like adding interceptor etc that
will be called whenever a flow is completed succesfully or
un-sucessfully?
您需要为频道使用 WireTap
拦截器:https://docs.spring.io/spring-integration/docs/5.2.2.RELEASE/reference/html/core.html#channel-interceptors。
并为该窃听配置一个全局通道拦截器模式,以指定您想要跟踪的通道。同一个文档有关于此事的信息。另请参阅有关此事的注释配置:https://docs.spring.io/spring-integration/docs/5.2.2.RELEASE/reference/html/configuration.html#annotations
我目前正在考虑添加对我的应用程序中经过的所有消息进行实时跟踪的选项。
我已经启用了 messagehistory 所以从技术上讲我会得到流程中发生的所有步骤。
现在我想使用 CQEngine 将每条消息与历史记录一起存储在磁盘缓存中,因为它有很好的支持并且非常快。
然后从 UI 我将使用 GraphVIZ 显示消息和历史记录并显示,以便用户可以实际看到每条消息的生命周期图表。
选项#01
在每个流中的 handle() 方法中添加调用以在磁盘缓存中异步添加消息和历史记录。
但这意味着每次新流程我都必须手动执行此操作。
Is there any option 02 I can utilize like adding interceptor etc that will be called whenever a flow is completed succesfully or un-sucessfully?
您需要为频道使用 WireTap
拦截器:https://docs.spring.io/spring-integration/docs/5.2.2.RELEASE/reference/html/core.html#channel-interceptors。
并为该窃听配置一个全局通道拦截器模式,以指定您想要跟踪的通道。同一个文档有关于此事的信息。另请参阅有关此事的注释配置:https://docs.spring.io/spring-integration/docs/5.2.2.RELEASE/reference/html/configuration.html#annotations