摘要:
以下是一个小应用的数据库连接池配置,包括DBCP和C3P0的配制方法因为是小应用,完全不涉及访问压力,所以配置上采取尽量节约数据库资源的方式具体要求如下:初始化连接数为0连接不够,需要新创建时,每次创建1个尽快回收空闲连接需要开启prepareStatement缓存具体用代码来说明 1 package com.yazuo.util; 2 3 import com.mchange.v2.c3p0.ComboPooledDataSource; 4 import org.apache.commons.dbcp.BasicDataSource; 5 import org.slf4j.Logger; . 阅读全文
摘要:
以前在开发时只知道依靠数据库事务来保证程序关闭时数据的完整性。但有些时候一个业务上要求的原子操作,不一定只包括数据库,比如外部接口或者消息队列。此时数据库事务就无能为力了。这时我们可以依靠java提供的一个工具方法:java.lang.Runtime.addShutdownHook(Thread hook)addShutdownHook方法可以加入一个钩子,在程序退出时触发该钩子。(退出是指ctrl+c或者kill -15,但如果用kill -9 那是没办法的,具体有关kill的signal机制有篇大牛的文章《Linux 信号signal处理机制》)钩子做什么操作都可以,甚至可以循环检查某个线 阅读全文