0

私のアプリケーションは、いくつかのビジネス ロジックに基づいて、(将来的に) 通知を顧客に送信する必要があります。これらすべての通知を基本情報とともにデータベースに保存する必要があります (SMSJob や EmailJob などのジョブとして呼び出します)。列の 1 つは、特定のジョブごとにクラス名を持ちます。ここで、データベースにクエリを実行し、これらすべてのジョブを取得して 1 つずつ実行を開始する別のロジックがあります。Mikhail と Arsen が提案したように、リフレクションを使用して、クラスの名前に基づいてすべてのクラスのインスタンスを作成できます。

コードについて参照できる同様のものはありますか。ナットシェルでは、クォーツが提供している同様の機能を実装しようとしています。私は非常に厳しいタイムラインを持っているので、記事やコードへの参照は本当に役に立ちます.

前もって感謝します。

4

2 に答える 2

3

リフレクションを使用する必要があります。クラスがRunnableインターフェースを実装している場合は、次のようにします。

Class <?> clazz = Class.forName (classNameFromDB);
Runnable runnable = (Runnable)clazz.newInstance ();
runnable.run ();
于 2013-02-20T19:51:46.277 に答える
0

クラスは、メソッドなどを使用して、クラスの基本インターフェイスをオーバーライドする必要がありますexecute()。データベースからそれらを取得した後、リフレクションを使用してそれらを実行できます。

于 2013-02-20T19:57:38.137 に答える