2006-04-26 [長年日記]

[Java] Commons Validatorでスレッドセーフじゃない部分

ValidatorActionは、状態を管理するオブジェクトはメソッド引数で渡されている。基本的にはスレッドセーフを目指して作られていると思うのだが、初期化処理部分でスレッドセーフじゃない部分を発見。

Strutsとかだとキャッシュされているので、同じValidatorActionに同時にアクセスするとNG。もっとも初期化処理が終わっていれば問題無いので、余り世の中では気づかれていないっぽい。

一応Bugzillaに登録しておきました。気が向いたらVoteしてください。

結構使われているライブラリなのに、意外っちゃ意外。マルチスレッドでテストケース流してなんてしていないんだろうし、探したらもっとあるかも。

[Java] Jakarta HttpComponents HttpCore 4.0-alpha1 Now Available

HttpClientをばらして、独自のクライアントなりサーバなりを作りやすくしたものだそうな。面白い。将来的には、このHttpCoreを元にHttpClientが作り変えられる予定らしい。

本日のツッコミ(全3件) [ツッコミを入れる]
_ quitada (2006-04-27 13:31)

マルチスレッドは大変ですね。とはいえ、マルチスレッドとか、マルチベンダーとか、マルチ商法とか、マルチがつくとろくなことがないなぁ。ぐはぁ。

_ matobaa (2006-04-27 20:10)

HttpClient3.0つかったらよー サーバが返すCookieがRFC違反だとかいって拒食しやがって(その場面では)使い物にならんかった。ブラウザだったら文句言わずに食べるのに……。HttpCoreはどうなんだろう?

_ matobaa (2006-04-27 20:41)

できたできた。getMethod.getParam().setCookiePolicy(BROWSER_COMPATIBILITY);

[]