編集部からのお知らせ
ZDNet Japanが新しくなりました!
New! 懸念高まる産業機器のセキュリティ

アプリ資産をシンボリックリンクで共有したい

OKWave

2007-11-19 10:00

アプリ資産をシンボリックリンクで共有する問題について

Solaris8 OSのサーバにサーブレットアプリケーションを構築しています。

・/export/home/A
・/export/home/B
2環境のアプリケーションを構築しているのですが、
JavaのクラスやJSPが全く同じなため、B内の一部のフォルダから
A内の一部のフォルダにシンボリックリンクをはることによって、
リソースの節約をしようとしています。
画面関連のフォルダ構成は、
/export/home/A/docbase/jsp/menu.jsp
となっています。

しかし、ここでこのフォルダ構成で問題が起きました。
/export/home/B/docbase -> /export/home/A/docbase
上記のようにシンボリックリンクをはっていれば、問題ないのですが、
/export/home/B/docbase/jsp -> /export/home/A/docbase/jsp
というようにアプリケーションルートである「docbase」内の
jspフォルダに直接シンボリックリンクをはると、
HTTP 500 内部サーバーエラーが発生し、エラーログには


cannot process configuration web service using "/B /export/home/
B/docbase"
cannot load servlet name: jsp
java.lang.IllegalArgumentException:InputStream cannot be null

というメッセージが表示されます。
サーブレットコンテナの定義ファイル(.xml)には
<Context path="/B" docbase="/export/home/B/docbase" reloadable="false" /> というようにアプリケーションルートを指定しています。
JSP資産はどちらのはりかたでも共通なので、一見前者、後者どちらの
方法でも影響はなさそうなのですが、何か原因があるのでしょうか?

よろしくお願い致します。

良回答

docbaseの設定より上位階層を迂回する参照をしようとしてるからじゃないのかな?
ちょっと面倒だけど"/export/home/"でやって効くようならそういう事だと思うよ。

それができちゃうと他のユーザの階層のデータを勝手に覗けちゃう事になるしね。(それ以前に権限で阻まれるだろうけど)

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

Special PR

特集

CIO

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]