公司一个老项目的业务逻辑写在 Oracle 存储过程里面。现在有一个 jar 程序调用这个存储过程,如果存储过程执行耗时只是 3、4 个小时左右的话,能得到返回结果。但当耗时十几个小时情况下,程序一直阻塞在等待返回结果。 程序用的是 jdbc+c3p0。
c3p0 配置如下:
<property name="initialPoolSize">3</property>
<property name="maxIdleTime">360</property>
<property name="maxPoolSize">10</property>
<property name="minPoolSize">3</property>
<property name="maxStatements">0</property>
<property name="maxStatementsPerConnection">100</property>
<property name="acquireRetryAttempts">10</property>
<property name="checkoutTimeout">1000</property>
<property name="breakAfterAcquireFailure">false</property>
<property name="acquireRetryDelay">1000</property>
<property name="idleConnectionTestPeriod">60</property>
请教一下,执行存储过程的过程中,与 Oracle 的链接会被当作空闲链接吗?有没有可能是 Oracle 数据库的连接过长自动断开了.
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.