我的问题是关于这个答案,这似乎适用于我的案例(tomcat)。但是,我看到它使用的是newSingleThreadScheduledExecutor()。在我的例子中,必须执行的定期任务可能会持续很长时间,我希望确保它将而不是阻塞我的网站直到它完成(作为一个单独的Thread运行)。此外,我希望确保我的任务Runnable能够共享网站正在使用的mySQL连接池(通过hibernate)。那么,这仍然是正确的方法,还是我必须使用其他东西?
发布于 2015-02-16 13:38:46
我想确保它在完成之前不会阻塞我的网站(作为一个单独的线程运行)
分配给运行计时器任务的HTTP连接器线程池和线程池是不同的。他们不依赖于彼此,也不会阻止你的网站。
此外,我希望确保我的任务运行将能够共享网站正在使用的mySQL连接池(通过hibernate)。那么,这仍然是正确的方法,还是我必须使用其他东西?
使用像公域DBCP这样的框架配置一个公共连接池,并查找JNDI上的资源。查找DataSource和连接上的工作结束后,将连接返回到池。
这个方法很好。
https://stackoverflow.com/questions/28542629
复制相似问题