wrapper.console.direct プロパティ

対応バージョン :3.5.21
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSX (未対応)Linux (未対応)IBM AIX (未対応)FreeBSD (未対応)HP-UX (未対応)Solaris (未対応)IBM z/Linux (未対応)

このプロパティを「TRUE」に設定すると、コンソールウィンドへのコンソールログ出力の書き込みにWindows API を利用します。 このプロパティを「FALSE」に設定すると、UNIX のように動作し、 stdout」(データ標準出力)あるいは「stderr」(標準エラー出力)パイプへ出力を書き出します。 パイプへ書き出すと、出力を他のアプリケーションへリダイレクトすることが可能になります。 残念ながら、Windows では、パイプ経由で受信するコンソール出力のレンダリングは遅いです。 もし、ファイルや他のアプリケーションへリダイレクトすれば、レンダリング速度ヒットを回避することができます。 このプロパティのデフォルト値は「TRUE」です。

設定例:
wrapper.console.direct=TRUE

Wrapper バージョン 3.5.21より以前の全てのバージョンでは、パイプ経由の出力方法を利用していました。 デフォルト動作を変更したおかげで、大多数のユーザーはスピード高速化のメリットを受けられます。 もし、出力をリダイレクトする必要がある時だけ、パイプ出力を再び有効にする必要があります。

もし、サービスとして動かしている場合には、コンソールは通常どおり存在しません。 しかし、もし[wrapper.ntservice.interactive]プロパティと [wrapper.ntservice.console]プロパティの 両方を「TRUE」に設定している場合は、例外です。

警告

Java 出力の全ては、Wrapper プロセスへの自身の「stdout/stderr」(データ標準出力/標準エラー出力)パイプへ送信されます。 もし Wrapper がファイルやコンソール書き込みが遅い場合、Java からの出力を読み込む能力も低下するでしょう。 もし Wrapper が全てを読み込んでないために、パイプが満杯になった場合、 Java 側のパイプが、その出力を書き込みの試行をブロック(一時停止)するでしょう。 これは、アプリケーションのパフォーマンに大きな影響を与えることになりますので、念頭に置いておくことが大切です。 この問題は、スタンドアローンの Java プロセスを含み、どのアプリケーションでも起きるでしょう。

この問題を緩和する手法として、 [wrapper.javaio.buffer_size]プロパティで パイプバッファサイズを増やして、 [wrapper.console.direct]プロパティ を有効にすると良いです。 [wrapper.console.loglevel]プロパティ を使って、コンソール出力を完全に無効にすることも可能です。

参照: コンソール