Winstoneのコード読み

だいたい読み終わった。「何かすばらしくスゴいテクニックが使われているのでは?」と淡い期待を持っていたが,ひたすら地味に処理をこなしておりました。
いやいや,それでもスレッド管理とかクラスローダの設定とか目を見張るところはある。ただ,やっぱりweb.xmlの解析やソケットの読み書きは地道にコリコリ書いてあったという話。下回りになればなるほど,愚直に記述するしかないんだなぁと,改めて感じた。


Servlet APIを除くWinstone本体部分は 13,500行くらいで,トリッキーな箇所もないので読み解くのは難しくなかった。だからと言って,自分で書けるかというとさにあらずだ。正直,こんだけのコードを面倒がらずに記述しきった作者の技量はスゴいと思う。


んで,コードを一通り読んだからこそ言えるんだけど,Winstoneだけでも十分ある程度の規模のシステムを捌けると思う。ちゃんとスレッドプールしてるしね。
少なくとも,利用者十数人くらいの規模だったら全然いけるだろう。


そう思ったあたしは,derbyバンドル版と同じ仕組みで,Jasperバンドル版とか,Oracle JDBCドライバ・バンドル版とか作ってみようと思うのであった。
ちょっと「Jarファイル1個で完動するAPサーバ」ってのに,こだわってみたい。:-D


結構使いであると思うのよ,たぶん。
たとえば,Antで制御するとしても,わざわざタスク作らんでもマクロ定義だけで出来るだろうし。
#まあ,タスク作るにしても,そんな手間じゃないけどさ。