Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 应用程序挂起在使用弹簧和c3p0的峰值负载上_Spring_Connection Pooling_C3p0 - Fatal编程技术网

Spring 应用程序挂起在使用弹簧和c3p0的峰值负载上

Spring 应用程序挂起在使用弹簧和c3p0的峰值负载上,spring,connection-pooling,c3p0,Spring,Connection Pooling,C3p0,我将这些连接设置用于c3p0的弹簧应用。 在峰值负载时,应用程序挂起。在用户上传xml文件和应用程序解组并保存到数据库的峰值负载时,文件非常大,通常需要20到30秒才能完成。应用程序启动在加载2分钟后需要更多的时间,以完成从40秒到200秒的过程,并在峰值加载3分钟后停止响应 连接池设置 请建议 C3p0使用acquireIncrement->5初始化,AcquireEnterpriseTryTests->30,AcquireEnterpriseTryDisplay->500,自动提交关闭->f

我将这些连接设置用于c3p0的弹簧应用。 在峰值负载时,应用程序挂起。在用户上传xml文件和应用程序解组并保存到数据库的峰值负载时,文件非常大,通常需要20到30秒才能完成。应用程序启动在加载2分钟后需要更多的时间,以完成从40秒到200秒的过程,并在峰值加载3分钟后停止响应

连接池设置 请建议

C3p0使用acquireIncrement->5初始化,AcquireEnterpriseTryTests->30,AcquireEnterpriseTryDisplay->500,自动提交关闭->false,自动测试表->null,breakAfterAcquireFailure->false,签出超时->0,connectionCustomizerClassName->null,ConnectionTestClassName->com.mchange.v2.C3p0.impl.DefaultConnectionTester,dataSourceName->2UPG5N90M6DHNUA9Spyware | 6ae354b6,已调试未返回的连接跟踪->true,description->null,driverClass->oracle.jdbc.driver.OracleDriver,factoryClassLocation->null,ForceIgnoreUnsolvedTransactions->false,idleConnectionsPeriod->300,initialPoolSize->25,jdbcUrl->XXX,maxAdministrativeTaskTime->0,maxConnectionAge->1944000,maxIdleTime->0,maxIdleTimeExcessConnections->0,maxPoolSize->150,maxStatements->1000,maxStatementsPerConnection->100,minPoolSize->25,numHelperThreads->6,numThreadsAwaitingCheckoutDefaultUser->0,preferredTestQuery->从双精度中选择1,propertyCycle->->0,testConnectionOnCheckin->true,TestConnectionOnOnOnCheckout->false,未返回的ConnectionTimeout->0,使用传统反射代理->false]

配置:

  <bean id="dataSourceFactory" class="com.common.CLDataSourceFactory"/>
    <bean id="dataSource" factory-bean="dataSourceFactory" factory-method="createInstance"/>

这可能是一个OOM问题吗?我会说没有或者没有正确设置事务导致池不足。请发布您的spring配置和web.xml。这些名称与c3p0属性名称相似,但实际上不同。您如何配置您的池?最好验证您是否正在实际设置要设置的配置。c3p0在池初始化信息中转储其配置。@SteveWaldman添加了c3p0初始化信息
  <bean id="dataSourceFactory" class="com.common.CLDataSourceFactory"/>
    <bean id="dataSource" factory-bean="dataSourceFactory" factory-method="createInstance"/>
private static final CLDataSource INSTANCE = new CLDataSource();        
private static final Logger LOGGER = Logger.getLogger(CLDataSourceFactory.class);
/** This is the JVM shutdown hook to close the data source. */
static {
    Runtime.getRuntime().addShutdownHook(new Thread() {
        public void run() {
            try {
                LOGGER.info("JVM shutdown hook [CLSourceFactory's close data source] has been initiated.");
                INSTANCE.close();
                LOGGER.info("CLDataSourceFactory's close data source has been completed.");
            } catch (Exception ex) {
                LOGGER.error("Exception occured while CLDataSourceFactory's close data source: " + ex, ex);
            }
        }
    });
}   

public CLDataSource createInstance() {
    return INSTANCE; 
}