Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中作为定期/计划作业删除某些数据_Java_Spring_Hibernate_Jboss_Scheduler - Fatal编程技术网

在Java中作为定期/计划作业删除某些数据

在Java中作为定期/计划作业删除某些数据,java,spring,hibernate,jboss,scheduler,Java,Spring,Hibernate,Jboss,Scheduler,我在使用Spring和Hibernate框架的Java项目中工作。使用的数据库是Oracle,应用服务器是JBoss 4,操作系统是Unix 我必须编写一个逻辑,从所有超过180天的表中删除数据。在特定的表中有一个日期列,我必须使用它来确定它是否超过180天。如果是,我将不得不删除该表中的所有行以及任何其他表中的任何关联行。我可以使用hibernate从表中删除此类数据 此功能将被安排,即删除逻辑将在某个周期性时间调用,可能是每天下午3:00,客户机将很快通知我的确切时间。此逻辑必须与我通常对实

我在使用Spring和Hibernate框架的Java项目中工作。使用的数据库是Oracle,应用服务器是JBoss 4,操作系统是Unix

我必须编写一个逻辑,从所有超过180天的表中删除数据。在特定的表中有一个日期列,我必须使用它来确定它是否超过180天。如果是,我将不得不删除该表中的所有行以及任何其他表中的任何关联行。我可以使用hibernate从表中删除此类数据

此功能将被安排,即删除逻辑将在某个周期性时间调用,可能是每天下午3:00,客户机将很快通知我的确切时间。此逻辑必须与我通常对实际项目源代码进行的应用程序战争分开

我在编写将删除数据的持久性相关代码时没有任何问题,但我不知道如何在JBoss中单独放置此逻辑。我要把代码做成jar并放到JBoss中吗?以及如何调用delete逻辑?我是否需要配置/编写一些执行此任务的计划程序


有人能帮我解决这个问题吗?

Java/Hibernate不适合“自然”式的处理:当您试图使用Hibernate进行“事务性”更新之外的更新时,它会出现严重的性能和复杂性问题

最好的方法是编写一个执行该工作的SQL脚本,然后使用O/S任务调度器计划其执行:if*nix,if-windows。您将能够在很短的时间内完成您的任务,而且它的性能将超过任何java/hibernate方法,特别是因为您可以控制锁定、提交等

我所见过的每一个产品安装都是这样做的,它们都是通过
cron
来实现的

你几乎可以用任何一种语言做任何事情,但仅仅因为你能用一种语言/技术做一些事情,并不意味着这是一个好主意。

看一看。这是一个相对容易使用的Java调度器。你应该能够很快地启动并运行它