|
Wrapperが起動されると、 it is very careful about making sure that the
作業ディレクトリーis in a known and 絶えず続く状態.
これにより、ユーザーが予想外の場所からWrapperを起動することに起因する問題から派生して、
パスに関するトラブルが一切ないことを保証できるので、大いに役立ちます。
Windows:
Windowsプラットフォーム上では、Wrapperスタートアップ時に
「wrapper.exe」が配置されているディレクトリーを、
作業ディレクトリーとして即座に設定します。
これは、Windowsプラットフォーム上で、非常に重大なことです。
コンソールで動作するとき、アプリケーションが起動されると、
通常どおり、カレント・ディレクトリーを作業ディレクトリーとして設定します。
つまり、これはWrapperが起動したときに、それが
[bin\wrapper.exe]に対してか、
[.\wrapper.exe]に対してか、
[..\bin\wrapper.exe]に対してか、
どれで動作したのか差が生まれます。
さらに、Windowsサービスとして動作している時は、
作業ディレクトリーは通常どおり、
「Windows system 32」ディレクトリーに設定されます。
常に強制的に作業ディレクトリーを「wrapper.exe」の配置場所に設定することで、
信頼のおける相対パスの利用が可能になります。
Linux/Unix:
Linux/Unixプラットフォーム上では、少し異なる形で動作します。
つまり、Wrapperバイナリはデフォルトで作業ディレクトリーを設定せず、
Wrapper起動に利用されるスクリプトへ一任しています。
これで、UnixユーザーにUnixのもつ利点でもある柔軟性を持たせつつも、
Windowsプラットフォームに存在する同様の問題が、Unixにも存在します。
しかしながら、Wrapperに同梱して提供されているスクリプトを使うことで、
全てのパス問題は、上手く処理されるはずです。
???:
しかしながら、いくつかのアプリケーションでは、
作業ディレクトリーをWrapperバイナリの配置場所に設定すると、キレイに動作しない可能性も、あります。
1つ例をあげると、
作業ディレクトリーがファイル・システムのルート・ディレクトリーにあることを期待しているアプリケーションの場合です。
Wrapper下で、そのようなアプリケーションを動作させる唯一の方法は、
ルート・ディレクトリーに、Wrapperバイナリ や スクリプトを置くことです。
Not something that ほとんどのシステム管理者 would want to do.
そのようなケースにも対応するために、
[wrapper.working.dir]プロパティを設けました。
問題を避けるために、このプロパティの動作の仕方について、正確に理解することは非常に重要です。
「wrapper.conf」の中で、
あるいは、Wrapperバイナリへのパラーメーターとして、
[wrapper.working.dir]プロパティを指定することができます。
しかしながら、Wrapperの全てのプロパティが完全に読み込まれて解釈されるまで、このプロパティは有効になりません。
つまり、This means that
「wrapper.conf」ファイルの配置場所や、
そこで参照されたインクルード・ファイルの配置場所は、どれも、
Wrapperバイナリへの相対参照を利用した配置場所を使って、参照されていなければなりません。
確実にコンフィギュレーション・ファイルがロードされている、ということを確認する必要があります。
コマンドラインから、あるいは、
「wrapper.conf」ファイル内部で、
指定された他のプロパティで定義されたパスは、
[wrapper.working.dir]プロパティで指定された配置場所への相対パスです。
まだ混乱してる?では、順番に例をあげて確認していきましょう。
|