我正在查看Oracle的DBCN API(连续查询通知),并使用它实现一个事件流,指示数据库中的新行和/或修改行.
我关心的是:如果我配置并启动更改侦听器,然后我的Java客户端失败,服务器端仍在累积更改以进行传递.但是,当我的Java客户端恢复时,我的选项似乎有限:
那么如何恢复现有注册的会话?或者,我可以从哪里找到并检索积压的通知?
谢谢.
//尼古拉斯
小智 2
您可以实现一个服务器端解决方案 (PL/SQL),将所有更改放入队列 (Oracle Advanced Queue)。然后您的 Java 客户端可以连接到该队列并获取更改。
如果您的客户端出现故障,更改仍将写入服务器上的队列中。当您恢复客户端时,它将从队列中获取所有更改,从您上次收到的内容开始恢复。