我有一个 java 函数可以检查和修改我的 SQL 数据库中的值以避免错误,我需要它在服务器启动和重新启动时自动执行。我创建了一个 jsp 页面来调用这个函数作为 jsp 支持“setInterval”,我可以在每 3 分钟后自动运行它以从我的数据库中删除错误,现在我需要它在服务器启动时自动执行。任何人都可以指导我吗?
以下是我的jsp代码:
setInterval(function(){Autolf();},60000);
function Autolf()
{
$.post('autolgfn.jsp',
{
abc:1
},
function(response,status,xhr)
{
alert(response.trim());
});
}
以上代码从连接到数据库的 java 页面调用函数。
请帮助我在服务器启动时自动运行它,并在每 3 分钟后继续运行。提前致谢
你可以写一个ServletContextListener使用 ScheduledExecutorService
(或 Timer
)在 contextInitialized
方法中启动您的进程并在 contextDestroyed
中停止它方法。
它可能看起来像这样:
private volatile ScheduledExecutorService executor;
public void contextInitialized(ServletContextEvent sce)
{
executor = Executors.newScheduledThreadPool(2);
executor.scheduleAtFixedRate(myRunnable, 0, 3, TimeUnit.MINUTES);
}
public void contextDestroyed(ServletContextEvent sce)
{
final ScheduledExecutorService executor = this.executor;
if (executor != null)
{
executor.shutdown();
this.executor = null;
}
}