接收位置明细后接收 Oracle Database 更改通知
假设有一个 BizTalk 应用程序,该应用程序在对 ACCOUNTACTIVITY 表进行更改时接收数据库更改通知消息。 如果作为 BizTalk 应用程序一部分配置的接收位置中断,同时将记录添加到 ACCOUNTACTIVITY 表中,则不会收到最近添加的记录的通知。 你也不会知道接收位置何时再次可用。 Oracle 数据库适配器公开绑定属性 NotifyOnListenerStart,你可以将该属性配置为获取接收位置已恢复的通知。 可以为 NotifyOnListenerStart 绑定属性指定以下值:
将此属性设置为 True,以便在接收位置恢复后立即收到通知,通知接收位置可用。
将此属性设置为 False,以便在接收位置恢复后不会收到通知,通知接收位置已恢复。
默认值为 True。
配置 Oracle 数据库适配器行为
对于任一方法,在生成元数据或配置 BizTalk 应用程序时都不需要执行任何特定任务。 只需在 WCF-Custom 或 WCF-OracleDB 接收位置上相应地设置 NotifyOnListenerStart 绑定属性。 若要创建 BizTalk 应用程序,必须执行使用 BizTalk Server 以增量方式接收 Oracle 数据库更改通知中所述的相同任务集。 但是,在使用 BizTalk Server 配置 BizTalk 应用程序时,可以尝试更改 NotifyOnListenerStart 绑定属性的值,并查看这两种配置的差异。
下图演示了如何根据 NotifyOnListenerStart 绑定属性的值接收通知。
请注意,在第一种方案中,当 NotifyOnListenerStart 设置为 True ,并在接收位置关闭时将记录插入数据库表中时,适配器仅在接收位置出现时向你发送通知消息。 适配器不执行任何操作来处理在接收位置关闭时插入的记录。 适配器客户端必须在其应用程序中实现相关逻辑,以处理在接收位置关闭时插入的记录。