gpt4 book ai didi

Oracle JDBC : Resuming a Database Change Notification Registration

转载 作者:行者123 更新时间:2023-12-04 21:22:23 25 4
gpt4 key购买 nike

我正在查看 Oracle 的 DBCN API(连续查询通知)并使用它实现指示数据库中新行和/或修改行的事件流。

我担心的是:如果我配置并启动更改监听器,然后我的 java 客户端失败,服务器端仍在积累更改以进行交付。但是,当我的 java 客户端恢复时,我的选择似乎很有限:

  • 开始新的注册。我不想这样做,因为它只会开始一个新的注册(旧的仍然运行“无客户端”),并且我的新注册不会被发送到先前注册的积压。
  • 我可以查询 USER_CHANGE_NOTIFICATION_REGS 表,找到先前的注册并取消它,但这仍然没有让我收到未送达通知的积压。

  • 那么我如何使用现有注册恢复 session ?
    或者,我可以从哪里找到并检索积压的通知?

    谢谢。

    //尼古拉斯

    最佳答案

    您可以实现一个服务器端解决方案 (PL/SQL),将所有更改放入一个队列 (Oracle Advanced Queue)。然后您的 java 客户端可以连接到这个队列并获取更改。

    如果您的客户端失败,更改仍将写入服务器上的队列。当您恢复您的客户端时,它将从队列中获取所有更改,从您收到的最后一次恢复。

    关于Oracle JDBC : Resuming a Database Change Notification Registration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9806584/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com