Java 部署在Tomcat7中的应用程序需要15分钟才能连接

Java 部署在Tomcat7中的应用程序需要15分钟才能连接,java,tomcat,tomcat7,datasource,Java,Tomcat,Tomcat7,Datasource,我在Tomcat7中部署了一个应用程序。 oracle ddbb的数据源未全局配置。 我们通过配置的资源(auth容器)访问该数据源 问题是,当服务器刚刚启动并刷新应用程序内部的代码时;getConnection()工作正常。但是,在webapp空闲一段时间后(多o少1个半小时,我不知道具体多长时间),应用程序执行该代码需要很长时间(多o少15分钟)。我们需要重新启动服务器,一切正常 您知道为什么webapp闲置一段时间后,数据源需要很长时间才能返回连接吗 数据库是oracle12g 提前感谢,

我在Tomcat7中部署了一个应用程序。 oracle ddbb的数据源未全局配置。 我们通过配置的资源(auth容器)访问该数据源

问题是,当服务器刚刚启动并刷新应用程序内部的代码时;getConnection()工作正常。但是,在webapp空闲一段时间后(多o少1个半小时,我不知道具体多长时间),应用程序执行该代码需要很长时间(多o少15分钟)。我们需要重新启动服务器,一切正常

您知道为什么webapp闲置一段时间后,数据源需要很长时间才能返回连接吗

数据库是oracle12g

提前感谢,, 最好的,
Jose Blesa

我猜代码做了一些奇怪的事情。您是否监控过系统资源,如内存或CPU使用情况?它们在一小时后是否表现出不同的使用级别?您使用的是哪种数据源?可能会发生不同的情况,可能连接池已满,连接可能处于某种奇怪的状态,即池认为它是有效的,但实际上它已关闭或类似的情况。。。也许使用一些验证查询会有所帮助。例如,Tomcat JDBC连接池允许为此设置不同的选项。谢谢您的帮助。您好,当应用程序未使用时会出现问题。在长时间没有任何活动之后,对getConnection()的第一次调用会延迟15分钟,之后一切正常。因此,我认为空闲池连接被窃取是因为有什么东西正在关闭连接(它们之间有防火墙),当应用程序唤醒时,第一个getConnection()调用尝试使用10个空闲池连接中的一个,最后,它创建了一个新连接,一切正常。提前谢谢!