Java 如何处理TimerTask内的数据库连接
我每4分钟安排一个计时器任务,其任务是在mysql表中插入/更新值 我的问题是,我是否需要为每次迭代(run方法)建立DBConnection 我的部分代码Java 如何处理TimerTask内的数据库连接,java,Java,我每4分钟安排一个计时器任务,其任务是在mysql表中插入/更新值 我的问题是,我是否需要为每次迭代(run方法)建立DBConnection 我的部分代码 public class App { public static void main( String[] args ) { TimerTask task = new RunMeTask(); Timer timer = new Timer(); timer.schedule(
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();
}
}
}
请提前通知我,谢谢最好的方式是重复使用连接。如果您的TimerTask位于容器中,请使用该基础结构,您应该拥有数据库连接池,甚至可以享受容器管理事务的好处
如果这不适合您,请不要尝试自己共享连接。有一些实现,例如简短的回答是肯定的,每次创建、读取、更新或删除数据库信息时,都必须建立数据库连接。