1

MysqlまたはPsqlデータベースの特定のテーブルが更新されるとすぐに、その命令を認識して実行できるJavaエージェントを作成する必要があります。すべてが自動的に行われる必要があります。

私は、ImにJavaの初心者がいるとしたら、皆さんが私にアドバイスをくれるのではないかと思っていました。

私のオプションは次のとおりです。

1)コミット後にJavaアプリケーションを起動できるトリガーがある。(Pg_notifyなどを使用)

2)またはJavaアプリケーションをデータベース内の特定のIDにサブスクライブさせる(非同期更新が不可能な場合にこれを実行できるかどうかわからないため、エージェントにdabataseの2番目に変更を要求する必要がある場合があります)

ありがとう!

4

1 に答える 1

1

はい、NOTIFYを使用するトリガーはPostgreSQLでそれを行うための良い方法です。JDBCドライバーを使用する場合の重要な問題は、通知を非同期で受信する方法がないことです。ポーリングする必要があります。NOTIFY / LISTENメカニズムは非常に軽量であるため、これは通常は問題ありません。1秒間に10(100?)回ポーリングする場合は、パフォーマンスの問題を発生させることなく実行できます。詳細については、 http://jdbc.postgresql.org/documentation/83/listennotify.htmlを参照してください。

MySQLは少し役に立ちません。トリガーで監視テーブルに行をINSERTし、SELECT *(次にDELETE)を使用してそのテーブルを繰り返しポーリングする必要があります。これは機能しますが、レイテンシとパフォーマンスのトレードオフが発生する可能性が高くなります。

于 2012-05-04T03:46:59.973 に答える