読者です 読者をやめる 読者になる 読者になる

Fight the Future

何かを始めたら、半分成功したのと同じ

Spring + DBCP + MySQLで接続が閉じたコネクションを利用して例外が発生することを防ぐ

BasicDataSourceのvalidationQueryプロパティに検証用SQLを設定する。

Spring設定ファイル。

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close" p:driverClassName="${jdbc.driverClassName}"
		p:url="${jdbc.url}" p:username="${jdbc.username}" p:password="${jdbc.password}"
		p:validationQuery="${jdbc.validationQuery}">
	</bean>
	<context:property-placeholder location="classpath:jdbc.properties" />

jdbc.properties

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/XXX
jdbc.username=XXX
jdbc.password=XXX
jdbc.validationQuery=select 1

「select 1」はMySQLでは有効なSQL。