2017-02-23 7 views
0

JavaEEアプリケーションのデバッグ(パフォーマンス、メソッドの使用状況のログなど)に使用されるインターセプタがあります。実行時にインターセプタを無効/有効にする

本番システムでは、これらのインターセプタをデフォルトで有効にしたくありませんが、実行時に(再デプロイメントなしで)有効にする可能性があります。 CDI実装のこの独立した実装を行うための移植可能な方法はありますか?そうでない場合は、これを行うWELD固有の方法がありますか?

私の唯一の解決策は、これらのインターセプタで使用する必要があるグローバルフラグですが、それでもインターセプタに入り、何もせずにフラグを評価するオーバーヘッドがあります。

答えて

1

これは、CDI/Weldがブートストラップ時に行うことの1つです。例えば。インターセプタの場合は、インターセプタ上の余分な作業を処理する "ラッピングプロキシ"を作成する必要があります。したがって、答えはで、実行時には実行できません。

しかし、フラグの種類でのアプローチは完全にうまくいきます。インターセプタプロキシ(何もしません)を持つオーバーヘッドは、あなたが気づくべきではない非常に小さなものです。私はおそらくこのアプローチで行くだろう。

+0

さて、私は私の初期のソリューションを使用します。ありがとう。 – grubi

関連する問題