EJBタイマーサービスの利用に関して質問するシナリオがあります。
ユースケースは次のとおりです。システムは、特定のタイムスタンプを使用して、ファイルの変更についてSubversionリポジトリをポーリング/要求するタスクをスケジュールできる必要があります。
スケジュールされたタスクが実行されようとしているときはいつでも、特定のsvnリポジトリに対してコマンドを実行するという考え方です。この特定の目的のために、外部プロセスを呼び出すことはしませんが、SVNKitJavaライブラリhttp://svnkit.com/を使用する「純粋な」Javaの方法を使用します。
私の唯一の懸念はこれです:外部プロセスを呼び出すタスクを実行するためにEJBタイマーサービスを使用するのは良い考えですか?私の方法では「純粋な」Javaの方法を使用しますが、バッチファイル/コマンドライン/外部実行可能ファイルをタイマーサービスロジックに直接呼び出すなどの他のシナリオでは使用します。
サーバーのメモリ使用量/パフォーマンスなどの影響が心配です。
これは良い考えですか?
私が考えているもう1つの考えは、ポーリングを実行し、そこでロジックをコーディングするSWT / Swingなどのクライアントベースのテクノロジーを使用してサーバーに「デスクトップ」アプリケーションを作成することですが、これは2つのアプリケーションを管理する必要があることを意味します。 。ポーリングする「デスクトップ」アプリと、Glassfishで作成する「Web」ユーザーインターフェイス。
私は、Glassfishである私の選択したアプリサーバーですべてを行うことに傾倒しています。
以前にEJBタイマーを使用しましたが、外部サービスを呼び出さずにデータベースを呼び出すだけで、このシナリオが発生しただけなので、ここで質問をして、これを行った経験のある人からさらに考えを集めました。
何かご意見は?