首页 > 解决方案 > TomEE-Oracle 连接:连接已关闭

问题描述

我有一些数据库插入/更新操作需要 10 多分钟才能完成,因为它们使用非常大的数据集。

我在 TomEE 中对数据源进行了以下配置:

<Resource id="BSLDataSource" type="javax.sql.DataSource">
    DefaultAutoCommit = false
    JdbcDriver = oracle.jdbc.OracleDriver
    JdbcUrl = jdbc:oracle:thin:@host:port:sid
    JmxEnabled = true
    JtaManaged = true
    LogAbandoned = true
    MaxActive = 500
    MaxIdle = 5
    MaxWait = 10000
    MinEvictableIdleTimeMillis = 1800000
    MinIdle = 0
    NumTestsPerEvictionRun = 3
    Password = my-password
    RemoveAbandoned = true
    RemoveAbandonedTimeout = 600
    TestOnBorrow = true
    TestOnReturn = true
    TestWhileIdle = true
    TimeBetweenEvictionRunsMillis = 600000
    UserName = my-user
    ValidationQuery = SELECT 1 FROM DUAL
</Resource>

在运行此类操作时,我收到异常消息:java.sql.SQLException: Connection has already been closed.

我需要进行哪些配置更改,以便:

我试图添加一个新属性:ConnectionProperties = oracle.net.CONNECT_TIMEOUT=3600000;oracle.jdbc.ReadTimeout=3600000但没有运气。

更新

环境:

没运气。

标签: oracletomcatjdbcapache-tomeetomee-7

解决方案


你可以使用服务名称并使用这种格式的URL吗?jdbc:oracle:thin:@myhost:1521/myorcldbservicename

另外,您是否可以通过 sqlplus 或 sqldeveloper 获得连接?


推荐阅读