环境:spring3+c3p0+jdbc.properties
发现了For input string: "${cpool.minPoolSize}这样的问题。
我们从spring的配置文件说起:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="autoCommitOnClose" value="true" /> <property name="initialPoolSize" value="${cpool.minPoolSize}" /> <property name="checkoutTimeout" value="${cpool.checkoutTimeout}" /> <property name="minPoolSize" value="${cpool.minPoolSize}" /> <property name="maxPoolSize" value="${cpool.maxPoolSize}" /> <property name="maxIdleTime" value="${cpool.maxIdleTime}" /> <property name="acquireIncrement" value="${cpool.acquireIncrement}" /> <property name="maxIdleTimeExcessConnections" value="${cpool.maxIdleTimeExcessConnections}" /> </bean>
上面如果将<property name="jdbcUrl" value="${jdbc.url}" />改成固定值,<property name="jdbcUrl" value="192.168.1.2" />
这种格式的,则不会出现这样的问题。
始终得不到解决方案,后来我才发现原来是BeanFactory的创建上有了问题。
因为我用的接口XmlBeanFactory的,这是一个deprecated的,如下:
XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource( "SpringHelloWorld.xml"));
后来改成BeanFactory就行了,代码如下:
BeanFactory factory=new ClassPathXmlApplicationContext("SpringHelloWorld.xml");
问题解决。
相关推荐
<property name="minPoolSize" value="${cpool.minPoolSize}"/> ${cpool.maxPoolSize}"/> ${cpool.maxIdleTime}"/> ${cpool.acquireIncrement}"/> ${cpool.maxIdleTimeExcessConnections}"/> ``` C3P0的...
- `cpool.minPoolSize`: 最小连接池大小。 - `cpool.maxPoolSize`: 最大连接池大小。 - `cpool.maxIdleTime`: 连接闲置时间。 - `cpool.maxIdleTimeExcessConnections`: 连接闲置时间(超过最大连接数时)。 - ...
String sMin = props.getProperty("tt.MinPoolSize"); String sInit = props.getProperty("tt.InitialPoolSize"); String sMaxStmts = props.getProperty("tt.MaxStatements"); int max = Integer.parseInt...
<property name="minPoolSize" value="${.common.dbutils.c3p0.minPoolSize}"/> ${.common.dbutils.c3p0.maxPoolSize}"/> ${.common.dbutils.c3p0.maxStatements}"/> ${.common.dbutils.c3p0.acquireIncrement}...
<property name="minPoolSize" value="4"/> ``` 4. 使用HikariCP连接池 HikariCP 是目前性能最好的连接池实现,具有低延迟、高并发性能。配置如下: ```xml <beans xmlns="http://...
cpool.minPoolSize=10 cpool.maxPoolSize=25 cpool.maxIdleTime=7200 cpool.acquireIncrement=5 cpool.autoCommitOnClose=true ``` 同时,在 `applicationContext.xml` 中添加数据库连接池的配置,使用 Spring 的 ...
1. **`initialPoolSize`**: 初始化时获取的连接数,应在 `minPoolSize` 与 `maxPoolSize` 之间,默认为 3。 2. **`maxPoolSize`**: 连接池中保留的最大连接数,默认为 15。 3. **`acquireIncrement`**: 当连接池...
com.mchange.v2.c3p0.minPoolSize=5 com.mchange.v2.c3p0.maxPoolSize=20 ``` 总的来说,c3p0作为一款强大的JDBC连接池,不仅提供了基本的数据库连接管理,还具备许多高级特性,能有效提升Java数据库应用的性能和...
p:initialPoolSize="6" p:minPoolSize="6" p:maxPoolSize="18" p:maxIdleTimeExcessConnections="120" p:checkoutTimeout="10000" p:acquireIncrement="6" p:acquireRetryAttempts="5" p:acquireRetryDelay=...
- `minPoolSize`:最小连接池大小。 - `maxPoolSize`:最大连接池大小。 - `maxIdleTime`:连接的最大空闲时间,超过这个时间未使用的连接将被回收。 - `acquireIncrement`:当连接池中的连接耗尽时,一次创建的新...
<property name="minPoolSize" value="1"> <property name="initialPoolSize" value="1"></property> <property name="properties"> </property> <!-- c3p0数据源的一个专有属性,只可以存放密码和...
resource.ds1.minPoolSize=10 resource.ds1.maxPoolSize=20 resource.ds1.driverProperties.driverClassName=com.mysql.jdbc.Driver resource.ds1.driverProperties.url=jdbc:mysql://127.0.0.1:3306/droolswb?...
<property name="minPoolSize" value="${c3p0.minPoolSize}"/> ${c3p0.maxPoolSize}"/> ${c3p0.acquireIncrement}"/> ${c3p0.idleTestPeriod}"/> ${c3p0.maxIdleTime}"/> ``` 这里,我们使用了Spring的SpEL...
minPoolSize="2" maxPoolSize="5" initialPoolSize="3" maxIdleTime="10" acquireIncrement="15" maxStatements="0" idleConnectionTestPeriod="10" acquireRetryAttempts="30" ...
<property name="minPoolSize" value="${jdbc.minPoolSize}" /> ${jdbc.maxPoolSize}" /> ``` 5. **Mapper配置**: 在iBatis 3中,你可以使用注解或XML文件来定义Mapper。如果你选择XML方式,你需要在iBatis...
return DataSourceBuilder.create().type(Class.forName(dataSourceType)).build(); } } ``` 通过这样的配置,我们可以轻松地管理和控制数据库连接池,确保应用在处理高并发访问时能有效利用数据库资源,同时保持...
- `c3p0.minPoolSize`:最小连接池大小。 - `c3p0.maxPoolSize`:最大连接池大小。 - `c3p0.maxStatements`:每个连接上的最大预编译语句数。 - `c3p0.numHelperThreads`:帮助线程数量。 - `c3p0.maxIdleTime`:...
- `minPoolSize`:最小连接池大小,决定了空闲时连接池的最小数量。 - `maxPoolSize`:最大连接池大小,限制了并发访问数据库的连接数量。 - `maxIdleTime`:连接的最大空闲时间,超过这个时间未使用的连接将被自动...
<property name="minPoolSize" value="5"/> ``` 3. **获取数据库连接**:在代码中,通过Spring或其他方式注入配置好的DataSource,然后调用getConnection()方法获取连接。 4. **使用和释放连接**:使用...