2012-04-29 17 views
1

OSGIとCDIを使用してGlassfish 3.1.2でCDIアプリケーションを開発したいと考えています。しかし、私はCDIアプリケーションのパフォーマンス上のペナルティは何か分かりません。マルチスレッドアプリケーションでCDIを使用できますか? CDIを使用して大きなデータ構造を渡すことはできますか?Glassfish CDIのパフォーマンス

ベストウイッシュ

答えて

1

ありCDIを使用するためのパフォーマンスペナルティはあるが、我々はそれをGlassFishのために展開し、ほぼすべてのケースで起こっている他のすべてに比べて無視できる程度です。コードのCDI部分がアプリケーションがほとんどの時間を費やす部分であることが特にわかっている/疑わない限り、私はCDIの使用に関する第2の考えを持っていません。私たちの世界は、最適化が完了したことをすべて知っているときに早すぎる最適化をしてしまいます。コードが書かれているときではなく、問題があるとき。そして、最適化するスポットを見つけるためにプロファイリングを行い、次にそのスポットを最適化します。 CDIを使用して保存されたコーディングとメンテナンス時間は、必要性が現れた場合に、他のテクノロジに戻すのに費やす時間よりも常に重要です。

+0

ありがとうございます。パフォーマンスを向上させるためにmiltithreadsをCDIで使用できますか? – Aldo

+0

正確な答えは大文字と小文字が区別されます。しかし、はい、CDIアーキテクチャはマルチスレッド環境では問題ありません。しかし、アプリケーションのマルチスレッド化がアプリケーションのCDI速度を向上させるなら、私は答えがありません。 (ほとんどのシナリオでは、マルチスレッド部分はこのケースではglassfishで処理されます)アプリケーションに応じて、glassfishがすべてのマルチスレッドを処理させることをお勧めします。完全にJavaEEアプリケーションの場合は強くお勧めします) – esej

+1

私のメインCDIの性能について心配しないでください。私がその見方を変えるためには、CDIに多くの時間を費やすことになる、アプリケーション(ドメイン)に固有のものを特定する必要があります。 – esej

関連する問題