UCP和Oracle 12 c中的连接已关闭问题

时间:2017-02-02 12:16:52

标签: java multithreading oracle12c ucp

从Oracle 11g迁移到Oracle 12 c时,我们使用UCP(12.1.0.2.0)获得了以下错误

    java.sql.SQLException: The connection is closed: The connection is closed
            at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:464)
            at oracle.ucp.util.UCPErrorHandler.newSQLException(UCPErrorHandler.java:448)
            at oracle.ucp.jdbc.proxy.JDBCConnectionProxyFactory.invoke(JDBCConnectionProxyFactory.java:307)
            at oracle.ucp.jdbc.proxy.ConnectionProxyFactory.invoke(ConnectionProxyFactory.java:50)
            at com.sun.proxy.$Proxy24.prepareStatement(Unknown Source)

这是多线程应用程序,我们从UCP池获取连接,使用它然后关闭连接。             但是对于某些操作,我们在行上得到了上述错误 - connection.prepareStatement(statement)             我们正在使用PoolDataSource

很少有人尝试过             1)使用连接池的默认值,仅设置最小池大小。             2)将setValidateConnectionOnBorrow设置为true,             3)将setValidateConnectionOnBorrow设置为true,将setValidateConnectionOnBorrow设置为" SELECT 1 FROM DUAL"             4)使用标记连接             5)db在特定时间之后不会断开连接,并且没有阻止连接的防火墙。             6)使用setMaxConnectionReuseTime

我已经提到了一些显示类似问题的链接。但是它没有显示任何分辨率 https://community.oracle.com/thread/2183613

https://community.oracle.com/thread/2298699

The connection is closed when using Oracle UCP

有没有人在使用UCP的Oracle 12C上遇到过类似的问题?最新的UCP中是否有一些错误?

2 个答案:

答案 0 :(得分:0)

使用Weblogic的连接池时没有任何问题。

我认为问题正是所描述的Data.Hashtable package

在调用close()之前,请确保连接未关闭(注意多线程)。

prepareStatement()之前添加一些日志记录以查看connection.isValid()是否真的没有关闭,并在prepareStatement()调用之前尝试记录StackLayout layout = new StackLayout(); for(int i = 0; i < item.Count; i++) { var label = new Label { Text = item[i] }; var entry = new Entry(); Grid stackLayout = new Grid { HorizontalOptions = LayoutOptions.CenterAndExpand, Children = { label, entry }, }; layout.Children.Add(stackLayout); } 的值。

您能提供一些示例代码吗?

答案 1 :(得分:0)

我遇到了类似的问题。我在使用ucp-11.2.0.3.jar。我详细记录了我的流程并观察了来自池的连接

  1. 不为空
  2. 未关闭
  3. 也无效(con.isValid()返回false)

    我经历了这么多论坛,但没有多少帮助。我终于找到了这个Link related to similar issue。因此我更新到ucp-11.2.0.4,一切运行良好。

  4. 不确定这是否是一个解决方案,但它解决了我的问题。