2

私は、Spring および Hibernate フレームワークを使用した Java プロジェクトで作業しています。使用するデータベースは Oracle、アプリケーション サーバーは JBoss 4、OS は Unix です。

180 日より古いすべてのテーブルからデータを削除するロジックを作成する必要があります。特定のテーブルに日付列があり、それを使用して 180 日より古いかどうかを判断する必要があります。その場合、そのテーブルからすべての行を削除し、他のテーブルからも関連する行を削除する必要があります。休止状態を使用して、テーブルからそのようなデータを削除できます。

この機能はスケジュールされます。つまり、削除ロジックが呼び出される定期的な時間は、毎日午後 3 時で、正確な時刻はクライアントからすぐに通知されます。このロジックは、通常、実際のプロジェクトのソース コード。

データを削除する永続性関連のコードを書くことに問題はありませんが、JBoss でこのロジックを個別に配置する方法について混乱しています。コードの jar を作成し、それを JBoss に入れましょうか? また、削除ロジックはどのように呼び出されますか? このジョブを実行するスケジューラを構成/作成する必要がありますか?

誰かがこれで私を助けてくれますか?

4

2 に答える 2

1

Quartzをご覧ください。Java 用の比較的使いやすいスケジューラーです。これを非常に迅速に起動して実行できるはずです。

于 2012-09-10T18:42:11.447 に答える
0

Java/Hibernate は「ナッチ」スタイルの処理には適していません。Hibernate を使用して「トランザクション」更新以上の処理を実行しようとすると、パフォーマンスと複雑さに深刻な問題が生じます。

最善の方法は、作業を行う SQL スクリプトを作成し、O/S タスク スケジューラを使用してその実行をスケジュールすることです。 cron*nix のat場合、Windows の場合。わずかな時間でタスクを完了することができ、特にロック、コミットなどを制御できるため、Java/休止状態のアプローチよりも優れています。

私がこれまでに見たすべてのプロダクション インストールは、この種のことを行いますcron

どの言語でもほぼ何でもできますが、ある言語/テクノロジで何かを実行できるからといって、それが良いアイデアであるとは限りません。

于 2012-09-10T18:41:32.623 に答える