当前位置: 首页 > 知识库问答 >
问题:

Grails 2.0数据库连接超时,SockectException

郭阳泽
2023-03-14

环境-Grails 2.0.4、Oracle 11g

debug 'org.hibernate'
debug 'jdbc.sqlonly'
dataSource_secondary {
    logSql = true
    pooled = true
    properties {
        maxActive = 5
        maxIdle = 5
        minIdle = 3
        initialSize = 5
        minEvictableIdleTimeMillis = 6000
        timeBetweenEvictionRunsMillis = 6000
        maxWait = 1000
        testOnBorrow = true
        testWhileIdle = true
        testOnReturn = false
        validationQuery = "select 1 from dual"
    }
}

我还在调试器中运行了它,并向bootstrap.groovy添加了一些代码来获取上下文。

def ctx = servletContext.getAttribute(ApplicationAttributes.APPLICATION_CONTEXT)
println 'Added a println allowing me to set a break point and inspect the context.'

“ctx”确实具有datasource_secondary中指定的预期值。你知道为什么我仍然得到套接字异常吗?

共有1个答案

许永年
2023-03-14

解决了问题。脑死亡开发者。我忽略了签入修复程序,它没有进入构建环境造成的战争。当我签入datasource.groovy时,所有内容都是groovy,今天早上我没有看到超时异常。上述解决方案有效。

我仍然很困惑为什么在validationQuery运行时没有看到调试消息。有人知道在日志中查看validationQuery的正确log4j条目吗?

 类似资料:
  • 我目前正试图找到一个替代我的android应用程序后端。目前,我使用php servlets查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,所以我不能更改任何配置,因为我不是管理员。我只能编辑自己的表。 我试图使用以下代码创建一个java RESTful服务器:

  • 连接数据库 在能够对MongDB进行操作之前,需要使用BuguFramework创建一个数据库连接,代码如下: BuguConnection conn = BuguFramework.getInstance().createConnection(); conn.connect("192.168.0.100", 27017, "mydb", "username", "password"); 也可以

  • 一、全局配置定义 return array( 'DB_TYPE' => 'mysql', 'DB_HOST' => '127.0.0.1', 'DB_NAME' => 'thinkcmf', 'DB_USER' => 'root', 'DB_PWD' => 'root', 'DB_PORT' => '3306', 'DB_PREFIX' =>

  • ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。数据库抽象访问层基于PDO方式,目前内置包含了Mysql、SqlServer、PgSQL、Sqlite等数据库的支持。 如果应用需要使用数据库,必须配置数据库连接信息,数据库的配置文件有多种定义方式。 配置文件

  • 我有一个在wildfly 8.1下运行的应用程序,应用程序中使用的数据库连接来自standalone中定义的数据源。xml文件。 问题:我不知道为什么,但池中的连接从不空闲,并且会被释放。最终,池被填满,所有活动连接和应用程序开始抛出 同时,当我查看数据库时,大多数连接显示为空闲。(配置和结果输出如下) 我已经做了一个星期了,还没能找出这个问题的根本原因。我还检查了所有创建连接的地方,并确保它们在

  • 这些是我没用的财产领域... 是hibernate覆盖了这个超时值,还是我设置得不正确?提前感谢!