【问题标题】:oracle database sync using spring integration使用spring集成的oracle数据库同步
【发布时间】:2014-08-24 14:32:23
【问题描述】:

如果有人可以分享是否可以使用 Spring 集成进行近乎实时的 Oracle 数据库同步应用程序,我将不胜感激。它是一个轻量级的要求,其中只有几个表中的某些数据字段在源数据库中发生更改后立即被复制。任何关于可以使用什么架构的想法都会有很大帮助。此外,是否有任何 Oracle 实用程序可以与 SI 一起使用?

【问题讨论】:

    标签: spring-integration


    【解决方案1】:

    我想说Oracle Trigger 是给你的。当主要数据发生更改时,您应该使用触发器将这些更改移动到同一数据库中的另一个表。

    在 SI 中,您应该使用 <int-jdbc:inbound-channel-adapter> 从该 sync 表中读取和删除数据。在同一个事务中,您必须使用<int-jdbc:outboud-channel-adapter> 将数据移动到另一个数据库。

    这里的主要特性应该是XA 事务,因为你使用了两个数据库,好在它们都是Oracle。

    当然您可以尝试使用1PC effort,但需要做更多工作。

    【讨论】:

    • 感谢 Artem,这当然是一个选择,但我正在探索一些甚至基于的东西。我试图查看 SI 中是否有任何内置支持,可以直接插入 Oracle DB 并监听任何 Oracle 特定的数据更改事件机制,在那些线上。我可能在 Oracle 内部有一个触发器,它向消息代理发送消息,但这会增加很大的开销来将该触发器放在每个表上并为每个表列编写代码等。
    • 实际上我不确定是否有任何关于此事的 Java 工具...您可以尝试查看 Oracle AQ (docs.oracle.com/cd/B10501_01/appdev.920/a96587/qintro.htm),但 SI 方面确实没有任何内容: 它只依赖于原始 JDBC。但是,您可以尝试将 JMS 桥用于 AQ。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 2014-12-20
    相关资源
    最近更新 更多