0

Quartz スケジューラ バージョン 1.5.2 を使用しています。スケジュールは MSSQL データベースに保存されています。Quartz は、プロパティを使用してクラスターモードで実行されています -

org.quartz.jobStore.selectWithLockSQL = select lock_name from qrtz_locks with (updlock,rowlock) where lock_name=?

正常に動作します..これまでのところ!! 異なるデータベース (Postgres、MySQL、Oracle) で機能を利用できるようにする必要がある場合。上記のプロパティを変更する必要があります。

すべてのデータベースで実行されるようにクエリを書き直すにはどうすればよいですか? または、簡単に移植できるようにする他の方法はありますか?

4

1 に答える 1

1

org.quartz.jobStore.driverDelegateClassプロパティをチェックアウト:

ドライバーの代表者は、さまざまなデータベースシステムの特定の「方言」を理解しています。[...]

Quartzは、すぐに使用できる次のデータベース(方言)をサポートしています。

  • MSSQL

  • PostgreSQL

  • WebLogic

  • オラクル

  • Cloudscape

  • DB2(v6、v7、v8)

  • HSQLDB

  • ポイントベース

  • Sybase

H2とMySQLでもうまく使用できたと思います。

于 2012-10-16T17:09:42.487 に答える