2012-04-10 7 views
0

Struts2では、すべての要求がアクションオブジェクトを作成します。ここにスレッドはありません。それは完全にスレッドセーフです。 しかし、それはどのように良いパフォーマンスを与える。ここではすべてのオブジェクトが1つのスタックで動作します。 (ただし、スレッドは実行のために複数のスタックを作成します)Struts2はスレッドなしでどのようにパフォーマンスを得るのですか?

スレッドなしでマルチモジュール要求を処理する方法は?

答えて

2

要するに、S2がどのくらい正確に機能するかを知っていれば、これがこのように設計された理由を知ることになります。

アクションクラスは、UIからBean、BeanからUIにデータを転送するようなModelオブジェクトとしても機能します。これは、リクエストごとにActionインスタンスの新しいコピーを作成する理由の1つです。

パフォーマンスに関しては、スレッドごとに正しいスレッドを作成している場合、フレームワークはスレッドセーフである必要があるようにデータを同期させる必要がありますが、実際は大きなオーバーヘッドであり、全体的なパフォーマンス。

S2アクションはサーブレットでもコントローラでもありません。あなたはS2フィルタとS2アクションクラスと混乱していると思いますし、すべてのリクエストにはリクエストスコープのS2アクションのインスタンスがあります。

関連する問題