|
Wrapperが起動されるとき、
作業ディレクトリーがしっかり指定され一定の状態であることを確認するようにしてください。
こうすることで、ユーザーが予想外の場所から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バイナリ や スクリプトを置くことです。
ほとんどのシステム管理者がしたがるような事ではなくて。
そのようなケースにも対応するために、
[wrapper.working.dir]プロパティを設けました。
問題を避けるために、このプロパティの動作の仕方について、正確に理解することは非常に重要です。
「wrapper.conf」の中で、
あるいは、Wrapperバイナリへのパラーメーターとして、
[wrapper.working.dir]プロパティを指定することができます。
しかしながら、Wrapperの全てのプロパティが完全に読み込まれて解釈されるまで、このプロパティは有効になりません。
つまり、この means that
「wrapper.conf」ファイルの配置場所や、
そこで参照されたインクルード・ファイルの配置場所は、どれも、
Wrapperバイナリへの相対参照を利用した配置場所を使って、参照されていなければなりません。
確実にコンフィギュレーション・ファイルがロード(読み込み)されている、ということを確認する必要があります。
コマンドラインから、あるいは、
「wrapper.conf」ファイル内部で、
指定された他のプロパティで定義されたパスは、
[wrapper.working.dir]プロパティで指定された配置場所への相対パスです。
まだ混乱してる?では、順番に例をあげて確認していきましょう。
|