[seasar-dev:1087] Re: [S2Container] JBossAS5 対応

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2009年 3月 12日 (木) 19:00:20 JST


小林 (koichik) です.

Date:    Mon, 09 Mar 2009 21:00:19 +0900
From:    Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [seasar-dev:1078] Re: [S2Container] JBossAS5 対応

> っていうか,JBoss VFS のコード読まずにやってるのが
> 失敗かもしれない...

ということで少し調べてみました.
なんとなく,JBossAS 5.0.1.GA にバンドルされてる
JBossVFS 2.1.0.GA の問題じゃないかという気のせいが.

5.0.0.GA では,vfszip:〜/xxx.war/WEB-INF/classes という
URL から openStream() すると,JarEntryHandler という
クラスに関連づけられた VirtualFile が InputStream を
返していたのですが,5.0.1.GA では FileHandler という
クラスに関連づけられた VirtualFile が InputStream を
返します.

5.0.0.GA ではその取得した InputStream を
JarInputStream に食わせてエントリを読み込めますが,
5.1.0.GA では ByteArrayInputStream が返ってくるだけで
Jar として読めません.

しかも,その FileHandler の持ってる情報が怪しい.
例えば vfszip:〜/xxx.war という URL から取得した
VirtualFile を toString() すると (整形してます)

[E-MAIL ADDRESS DELETED][
  path=WEB-INFcontext=file:/C:/data/jboss-5.0.1.GA/server/default/tmp/a012a-fcxaql-fs78lb5s-1-fs78mcv5-9m/sa-struts-tutorial13.war/
  real=file:/C:/data/jboss-5.0.1.GA/server/default/tmp/a012a-fcxaql-fs78lb5s-1-fs78mcv5-9m/sa-struts-tutorial13.war/WEB-INF/
]

というように,real の方に WEB-INF なんて余計なパスが
付いてたりする.
ただの直感ですがなんかおかしくない?

ともかく War を Jar として読み込める InputStream を
取得できないのと,5.0.0.GA と動きが違いすぎてどっちが
正しいのかすら分からないので,5.0.1.GA 対応は当面
見送りにしようかと.

5.0.2.GA で戻るかもしれないし,戻らなかったら
その時はその時で考えることにしたいと思います.


P.S.
JBossVFS のドキュメントってどこ?


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-dev メーリングリストの案内