ServletとThreadLocalスレッドを使い捨てでばんばん作るサーブレットコンテナを使うんだったら、ThreadLocalはあまり意味がない(だって、ThreadLocalに保存しても2度目はないわけだから)。いうかオーバーヘッドだけがある。サーブレットコンテナがスレッドプールを使うかどうかは実装に依存している。ことは、ThreadLocalを使うかスタック(たとえばdoPostとかの中で)に作るかを決定するのに、サーブレットコンテナの実装詳細を知る必要が出てくるわけだが。ThreadLocalのかわりに自分でプールを作る方法だ。LinkedListが本来だけど結構重いから開き直ってArrayListでもかまわないけど。後からプールを作成する場合にはここで作っても良い。freeResources.clear();}ThreadLocalよりちょっと有利なのは、後処理が素直に可能な点。後処理が必要なリソースの場合、ThreadLocalを使っても結局、destroyでクリーンアップするためにどこかに全部がめておかなければならなくなる。