加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle JDBC:恢复数据库更改通知注册

发布时间:2020-12-12 13:15:34 所属栏目:百科 来源:网络整理
导读:我正在查看Oracle的DBCN API(连续查询通知),并使用它实现一个事件流,指示数据库中的新行和/或修改行. 我关心的是:如果我配置并启动更改侦听器,然后我的Java客户端失败,服务器端仍在累积更改以进行传递.但是,当我的Java客户端恢复时,我的选项似乎有限: 开始
我正在查看Oracle的DBCN API(连续查询通知),并使用它实现一个事件流,指示数据库中的新行和/或修改行.

我关心的是:如果我配置并启动更改侦听器,然后我的Java客户端失败,服务器端仍在累积更改以进行传递.但是,当我的Java客户端恢复时,我的选项似乎有限:

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

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

谢谢.

//尼古拉斯

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读