我每4分钟安排一次Timer Task,其任务是将值插入/更新到mysql表中。
我的问题是,我是否需要为每次迭代(运行方法)生成DBConnection
我的代码的一部分
public class App
{
public static void main( String[] args )
{
TimerTask task = new RunMeTask();
Timer timer = new Timer();
timer.schedule(task, 1000,60000);
}
}
public class RunMeTask extends TimerTask
{
PreparedStatement inserpstmt = null;
Connection conn = null;
String insertsql = "";
@Override
public void run() {
try {
inserpstmt = conn.prepareStatement(insertsql);
inserpstmt.setString(1, symbol);
inserpstmt.setString(2, date);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
请提前告知我们
答案 0 :(得分:0)
最好的模式是重用连接。如果TimerTask在容器内,请利用该基础结构,并且应该具有数据库连接池,甚至可以享受容器管理的事务的好处。
如果这对您不可行,请不要尝试自己池化连接。有一些实现方式,例如https://commons.apache.org/proper/commons-dbcp/