Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

15.5. JBossWeb のシステムプロパティー

ここでは、デフォルトの JBossWeb 動作の変更に使用できるシステムプロパティーを示します。system-properties は JBoss Enterprise Web アプリケーション設定で設定できます。再起動して、Web サブシステムに適用する必要があります。
以下の例は、JBossWeb で system-properties を変更する方法の例になります。
standalone@localhost:9999 /] ./system-property=org.apache.catalina.JSESSIONID:add(value="MYID")
{"outcome" => "success"}
standalone@localhost:9999 /] shutdown
Communication error: Channel closed
Closed connection to localhost:9999
プロパティーによっては、reload コマンドを使用して再起動できます。
以下は、reload コマンドを使用して再起動する例です。
[standalone@localhost:9999 /] reload
{
    "outcome" => "success",
    "response-headers" => {
        "operation-requires-reload" => true,
        "process-state" => "reload-required"
    }
}

表15.1 サーブレットコンテナーおよびコネクター

属性 説明
jvmRoute
jvmRoute 属性のデフォルト値を提供します。standalone-ha.xml などの設定を使用して ha read を使用する場合に、自動生成された値を上書きしません。
reload をサポートします。
org.apache.tomcat.util.buf.StringCache.byte.enabled true の場合、String キャッシュは ByteChunk に対して有効になります。値の指定がない場合は、デフォルト値の false が使用されます。
org.apache.tomcat.util.buf.StringCache.char.enabled true の場合、String キャッシュは CharChunk に対して有効になります。値の指定がない場合は、デフォルト値の false が使用されます。
org.apache.tomcat.util.buf.StringCache.cacheSize String キャッシュのサイズ。値の指定がない場合は、デフォルト値の 5000 が使用されます。
org.apache.tomcat.util.buf.StringCache.maxStringSize キャッシュされる String の最大長。値の指定がない場合は、デフォルト値の 128 が使用されます。
org.apache.tomcat.util.http.FastHttpDateFormat.CACHE_SIZE 解析およびフォーマットされた日付値を使用するキャッシュのサイズ。値の指定がない場合は、デフォルト値の 1000 が使用されます。
org.apache.catalina.core.StandardService.DELAY_CONNECTOR_STARTUP true の場合、コネクターは自動的に起動されません。これは埋め込みモードで便利です。
org.apache.catalina.connector.Request.SESSION_ID_CHECK true の場合、Servlet コンテナーは、ID でセッションを作成する前に、指定されたセッション ID のコンテキストにセッションが存在することを確認します。
org.apache.coyote.USE_CUSTOM_STATUS_MSG_IN_HEADER true の場合、HTTP ヘッダー内でカスタムの HTTP ステータスメッセージが使用されます。XSS の脆弱性を防ぐために、このようなメッセージがメッセージに特に入力されている場合は ISO-8859-1 でエンコードされていることを確認する必要があります。値の指定がない場合は、デフォルト値の false が使用されます。
org.apache.tomcat.util.http.Parameters.MAX_COUNT ポストボディーで解析できるパラメーターの最大量です。この値を超えると、IllegalStateException によって解析に失敗します。デフォルト値は 512 パラメーターです。
org.apache.tomcat.util.http.MimeHeaders.MAX_COUNT
HTTP リクエストで送信できるヘッダーの最大量。この値を超えると、IllegalStateException によって解析に失敗します。デフォルト値は 128 ヘッダーです。
org.apache.tomcat.util.net.MAX_THREADS コネクターがリクエストの処理に使用するスレッドの最大数。デフォルト値は 32 x Runtime.getRuntime().availableProcessors()です。(JIO コネクターの場合は 512 x Runtime.getRuntime().availableProcessors())
org.apache.coyote.http11.Http11Protocol.MAX_HEADER_SIZE HTTP ヘッダーのバイト単位の最大サイズ。この値を超えると、ArrayOutOfBoundsExceptions を使用して解析に失敗します。デフォルト値は 8192 バイトです。
org.apache.coyote.http11.Http11Protocol.COMPRESSION HTTP コネクターでの簡単な圧縮の使用を許可します。デフォルト値は off で、on 値を使用して圧縮を有効にし、条件付きで有効にするか、常に強制的に有効にすることができます。
org.apache.coyote.http11.Http11Protocol.COMPRESSION_RESTRICTED_UA 圧縮されたコンテンツを受け取らないユーザーエージェント regexps。デフォルト値は空です。
org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIME_TYPES 圧縮可能なコンテンツのコンテンツタイプ接頭辞。デフォルト値は text/html,text/xml,text/plain です。
org.apache.coyote.http11.Http11Protocol.COMPRESSION_MIN_SIZE 圧縮されるコンテンツの最小サイズ。デフォルト値は 2048 バイトです。
org.apache.coyote.http11.DEFAULT_CONNECTION_TIMEOUT デフォルトのソケットタイムアウト。デフォルト値は 60000 ミリ秒です。
org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY このプロパティーを使用して .java および .class ファイルを削除し、JSP ソースが再コンパイルされるようにします。デフォルト値は false です。keep alive のデフォルトのソケットタイムアウト。デフォルト値は -1 ミリ秒で、デフォルトのソケットタイムアウトを使用します。
org.apache.tomcat.util.buf.StringCache.trainThreshold キャッシュをアクティベートする前に toString() を呼び出す必要のある回数を指定します。デフォルト値は 100000 です。

表15.2 EL

属性 説明
org.apache.el.parser.COERCE_TO_ZERO true の場合、式を数字 "" に変換し、null は仕様で必要なようにゼロに強制されます。値の指定がない場合は、デフォルト値の true が使用されます。

表15.3 JSP

属性 説明
org.apache.jasper.compiler.Generator.VAR_EXPRESSIONFACTORY 式言語の式ファクトリーに使用される変数の名前。値の指定がない場合は、デフォルト値の _el_expressionfactory が使用されます。
org.apache.jasper.compiler.Generator.VAR_INSTANCEMANAGER インスタンスマネージャーファクトリーに使用する変数の名前。値の指定がない場合は、デフォルト値の _jsp_instancemanager が使用されます。
org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING false の場合、JSP 属性の引用符をエスケープする要件が緩和され、必要な引用符が欠落しているとエラーが発生しません。値の指定がない場合は、仕様に準拠するデフォルトの true が使用されます。
org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE org.apache.jasper.Constants.DEFAULT_TAG_BUFFER_SIZE を超えるタグバッファーは破棄され、デフォルトサイズの新しいバッファーが作成されます。値の指定がない場合は、デフォルト値の 512 が使用されます。
org.apache.jasper.runtime.JspFactoryImpl.USE_POOL true の場合、ThreadLocal PageContext プールが使用されます。値の指定がない場合は、デフォルト値の true が使用されます。
org.apache.jasper.runtime.JspFactoryImpl.POOL_SIZE ThreadLocal PageContext のサイズ。値の指定がない場合は、デフォルト値の 8 が使用されます。
org.apache.jasper.Constants.JSP_SERVLET_BASE JSP から生成されたサーブレットのベースクラス。値の指定がない場合は、デフォルト値の org.apache.jasper.runtime.HttpJspBase が使用されます。
org.apache.jasper.Constants.SERVICE_METHOD_NAME ベースクラスによって呼び出されるサービスメソッドの名前。値の指定がない場合は、デフォルト値の _jspService が使用されます。
org.apache.jasper.Constants.SERVLET_CLASSPATH JSP のクラスパスを提供する ServletContext 属性の名前。値の指定がない場合は、デフォルト値の org.apache.catalina.jsp_classpath が使用されます。
org.apache.jasper.Constants.JSP_FILE サーブレット定義の <jsp-file> 要素の request 属性の名前。リクエストに存在する場合は、request.getServletPath()によって返される値を上書きし、実行される JSP ページを選択します。値の指定がない場合は、デフォルト値の org.apache.catalina.jsp_file が使用されます。
org.apache.jasper.Constants.PRECOMPILE JSP エンジンがサーブレットを事前生成し、呼び出しは行わないようにするクエリーパラメーターの名前。値の指定がない場合は、デフォルト値の org.apache.catalina.jsp_precompile が使用されます。
org.apache.jasper.Constants.JSP_PACKAGE_NAME コンパイルされた jsp ページのデフォルトのパッケージ名。値の指定がない場合は、デフォルト値の org.apache.jsp が使用されます。
org.apache.jasper.Constants.TAG_FILE_PACKAGE_NAME タグファイルから生成されたタグハンドラーのデフォルトのパッケージ名。値の指定がない場合は、デフォルト値の org.apache.jsp.tag が使用されます。
org.apache.jasper.Constants.TEMP_VARIABLE_NAME_PREFIX 生成された一時的な変数名に使用する接頭辞。値の指定がない場合は、デフォルト値の _jspx_temp が使用されます。
org.apache.jasper.Constants.USE_INSTANCE_MANAGER_FOR_TAGS true の場合、インスタンスマネージャーはタグハンドラーインスタンスの取得に使用されます。値の指定がない場合は true が使用されます。
org.apache.jasper.Constants.INJECT_TAGS true の場合、タグに指定されたアノテーションは処理およびインジェクトされます。簡単なタグを使用する場合やタグプーリングが無効になっている場合はパフォーマンスに影響することがあります。値の指定がない場合は false が使用されます。

表15.4 セキュリティー

属性 説明
org.apache.catalina.connector.RECYCLE_FACADES true の場合や、セキュリティーマネージャーが使用中の場合は、リクエストごとに新しいファサードオブジェクトが作成されます。値の指定がない場合は、デフォルト値の false が使用されます。
org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH true の場合、「\」文字はパス区切り文字として使用できます。値の指定がない場合は、デフォルト値の false が使用されます。
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH true の場合、「%2F」と「%5C」はパス区切り文字として使用できます。値の指定がない場合は、デフォルト値の false が使用されます。

表15.5 仕様

属性 説明
org.apache.catalina.STRICT_SERVLET_COMPLIANCE
値の指定がない場合は true が使用されます。true の場合、以下のアクションが発生します。
  • アプリケーションディスパッチャーに渡されるラップされた要求または応答オブジェクトは、元の要求または応答がラップされるようにチェックされます。(SRV.8.2 / SRV.14.2.5.1)
  • 文字エンコーディングが指定されていない場合に Response.getWriter()を呼び出すと、後続の Response.getCharacterEncoding()が ISO-8859-1 を返し、Content-Type 応答ヘッダーに charset=ISO-8859-1 コンポーネントが含まれます。(SRV.15.2.22.1)
  • セッションに関連するすべてのリクエストにより、リクエストが明示的にセッションにアクセスしたかどうかに関わらず、セッションの最終アクセス時間が更新されます。(SRV.7.6)
org.apache.catalina.core.StandardWrapperValve.SERVLET_STATS true を指定した場合または org.apache.catalina.STRICT_SERVLET_COMPLIANCE が true の場合、ラッパーは各サーブレットの JSR-77 統計を収集します。値の指定がない場合は、デフォルト値の false が使用されます。
org.apache.catalina.session.StandardSession.ACTIVITY_CHECK true の場合や、org.apache.catalina.STRICT_SERVLET_COMPLIANCE が true の場合、Tomcat は各セッションのアクティブなリクエストの数を追跡します。セッションが有効であるかを判断するとき、アクティブなセッションが 1 つ以上あるセッションは常に有効であると見なされます。値の指定がない場合は、デフォルト値の false が使用されます。