Spring を使用して、Web アプリケーションの定期的なデータベース バックアップをスケジュールする必要があります。Spring Data はバックアップの特定のサポートを提供しますか? TaskScheduler と TaskExecutor を使用する予定です。
2 に答える
いいえ、それに対する特別なサポートはありません。Spring Dataは、バッチ操作ではなく、トランザクションでの使用を目的としています。もちろん、findAll()
繰り返して結果をどこかに保存できる方法もあります。
Spring Batchは、長時間実行される重いバッチプロセスに焦点を合わせているため、おそらく少し良い選択です。しかし、私見あなたのアプリケーションはバックアップを実行するのに適した場所ではありません。データベースやOSのサポートを利用してみませんか?より速く、より信頼性が高くなります。
アプリケーションレベルからデータベースをバックアップする必要がある場合は、データベースのマニュアルを検討してください。データベースの内容をファイルにダンプする簡単なコマンドがあるかもしれません。たとえば、h2SCRIPT
では、 SQLコマンドfromを使用しJdbcTemplate
て、データベースを任意のファイルにダンプしています。しかし、私はこの手法を使用して、各統合テストの後にデータベースをリセットします。JdbcTemplate
オーバーヘッドを最小限に抑えるために使用します。そのため、SpringDataはこの仕事に最適なツールではありません。
MySQLにはmysqldump
プロセスがあるため、Javaから実行するのは少し面倒です。