微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您如何使用 JPA 数据库表动态管理 IntegrationFlow Spring bean?

如何解决您如何使用 JPA 数据库表动态管理 IntegrationFlow Spring bean?

我有一个场景,我希望根据 JPA 数据库表的内容注册 IntegrationFlow Spring bean。

例如,表格将如下所示:

@Entity
class IntegrationFlowConfig {
  private long id;
  private String local;
  private String remote;

}

并且我想要一个 IntegrationFlow 注册为 Spring bean,用于在上表定义中找到的每个条目。添加一行时,注册一个新的bean,删除一行时,销毁相应的bean。

我考虑过为上述实体创建一个EntityListener,其中@PostPersist 和@PostRemove 将通过IntegrationFlowContext 创建/销毁IntegrationFlow bean,但是这个解决方案似乎有点笨拙,我想知道是否存在任何功能解决上面的问题稍微简化了一点。也许某种行映射功能可以将 spring bean 映射到 JPA 数据库行等?

任何帮助将不胜感激!

谢谢,

和尚

解决方法

嗯,这样的想法过去曾多次出现在我的脑海中。但是即使将 XML 配置轻松序列化为数据库并反序列化为 Integration Flow(XML 之一)在其自己的子 ApplicationContext 中,我们仍然遇到了一些 bean 必须随其 Java 提供的问题代码。即使我们选择退出 Groovy scripts,它可以在运行时解析和加载,一些 Java 代码仍然需要编译。最后,当我们为客户发布一些解决方案时,他们的操作员如何编写这些动态流变得非常混乱,容易出错。

你当然可以有一些外部配置选项,也可以有条件逻辑,但代码仍然必须提前编译,不能让逻辑(不是数据)在运行时被序列化和反序列化。

可能这不是您正在寻找的答案,但是没有这样的序列化解决方案,并且可能根本不会完成,因为如今拥有动态应用程序是一种反模式(恕我直言)我们可以简单地处理简短的微服务甚至函数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。