有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Oracle jdbc驱动程序中注册用于透明应用程序故障切换的java回调

在我的应用程序中,我通过在创建连接时在DB字符串url中提供两个DB服务器名称来创建连接。据我所知,如果主数据库出现故障,将建立到辅助数据库的连接(透明)。这称为透明应用程序故障转移(TAF)吗

故障切换基本上是在单个连接级别处理的,对吗

如何注册回调以在发生故障转移时获得通知

我正在OracleDataSource级别或OracleConnection级别寻找特定的API。有人能提供几行示例代码吗

DB版本12c、jdbc8和oracle精简驱动程序


共 (1) 个答案

  1. # 1 楼答案

    有几种方法可以处理故障切换。此外,这取决于您是只想处理计划内维护还是计划外停机。 (a) 您可以使用通用连接池(UCP),它可以同时处理计划内和计划外停机。签出这个whitepaper。 (b) 如果您想构建自己的逻辑,那么可以使用simplefan.jar在发生DB实例UP/DOWN事件时获取通知

    如果您正在寻找注册TAF回调的API,请点击这里。请注意,这些仅用于OCI和JDBC-OCI驱动程序

    oracle.jdbc.OracleConnection  
        public void registerTAFCallback(oracle.jdbc.OracleOCIFailover cbk, Object obj)