resin-web設定¶
項目
概要¶
Resinに関する設定です。
モジュール Resin フォーマットファイル(xsd) なし 設定場所 WEB-INF/resin-web.xml <web-app xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"> <log-handler name="" class="jp.co.intra_mart.common.platform.log.handler.JDKLoggingOverIntramartLoggerHandler"/> <!-- im_service(im_asynchronous) --> <resource jndi-name="jca/work" type="jp.co.intra_mart.system.asynchronous.impl.executor.work.resin.ResinResourceAdapter" /> <jsp> <recycle-tags>false</recycle-tags> </jsp> <database jndi-name="jdbc/default"> <driver> <type>org.postgresql.Driver</type> <url>jdbc:postgresql://localhost:5432/iap_db</url> <user>imart</user> <password>imart</password> </driver> <max-connections>20</max-connections> <prepared-statement-cache-size>8</prepared-statement-cache-size> </database> <session-config> <reuse-session-id>false</reuse-session-id> <session-timeout>30</session-timeout> </session-config> </web-app>
リファレンス¶
ログハンドラ設定¶
タグ名 log-handler ログハンドラに関する設定です。【設定項目】
<web-app> <log-handler name="" class="jp.co.intra_mart.common.platform.log.handler.JDKLoggingOverIntramartLoggerHandler"/> </web-app>
必須項目 × 複数設定 ○ 設定値・設定する内容 ログハンドラに関する設定をします。 単位・型 なし 省略時のデフォルト値 なし 親タグ web-app 【属性】
属性名 説明 必須 デフォルト値 name ログハンドラの名前を指定します。 ○ なし class ログハンドラのクラス名を指定します。 ○ なし
注意
この設定は変更しないでください。
リソース設定¶
タグ名 resource リソースに関する設定です。【設定項目】
<web-app> <resource jndi-name="jca/work" type="jp.co.intra_mart.system.asynchronous.impl.executor.work.resin.ResinResourceAdapter" /> </web-app>
必須項目 × 複数設定 ○ 設定値・設定する内容 リソースに関する設定をします。 単位・型 なし 省略時のデフォルト値 なし 親タグ web-app 【属性】
属性名 説明 必須 デフォルト値 jndi-name リソースのJNDI名を指定します。 ○ なし type リソースのタイプを指定します。 ○ なし 注意
この設定は変更しないでください。
JSP設定¶
タグ名 jsp JSPに関する設定です。【設定項目】
<web-app> <jsp> ... </jsp> </web-app>
必須項目 × 複数設定 × 設定値・設定する内容 JSPの設定をします。 単位・型 なし 省略時のデフォルト値 なし 親タグ web-app
タグ再利用設定¶
タグ名 recycle-tags JSPに関する設定です。タグクラスのインスタンスを再利用します。【設定項目】
<web-app> <jsp> <recycle-tags>false</recycle-tags> </jsp> </web-app>
必須項目 × 複数設定 × 設定値・設定する内容
true タグのインスタンスを再利用します。 false タグのインスタンスを再利用しません。 単位・型 真偽値 (true/false) 省略時のデフォルト値 なし 親タグ jsp 注意
この設定は変更しないでください。
データベース設定¶
タグ名 database データベース接続に関する設定です。【設定項目】
<web-app> <database jndi-name="jdbc/default"> ... </database> </web-app>
必須項目 × 複数設定 ○ 設定値・設定する内容 データベース接続を行うための設定をします。 単位・型 なし 省略時のデフォルト値 なし 親タグ web-app 【属性】
属性名 説明 必須 デフォルト値 jndi-name このデータベース設定のJNDI名を設定します。 ○ なし
ドライバ設定¶
タグ名 driver JDBCドライバに関する設定です。【設定項目】
<web-app> <database jndi-name="jdbc/default"> <driver> ... </driver> </database> </web-app>
必須項目 ○ 複数設定 × 設定値・設定する内容 JDBCドライバの設定をします。 単位・型 なし 省略時のデフォルト値 なし 親タグ database
ドライバタイプ設定¶
タグ名 type JDBCドライバのタイプに関する設定です。【設定項目】
<web-app> <database jndi-name="jdbc/default"> <driver> <type>org.postgresql.Driver</type> ... </driver> </database> </web-app>
必須項目 ○ 複数設定 × 設定値・設定する内容 JDBCドライバのタイプを設定をします。 単位・型 文字列 省略時のデフォルト値 なし 親タグ driver
ドライバURL設定¶
タグ名 url JDBCドライバのURLに関する設定です。【設定項目】
<web-app> <database jndi-name="jdbc/default"> <driver> ... <url>jdbc:postgresql://localhost:5432/iap_db</url> ... </driver> </database> </web-app>
必須項目 ○ 複数設定 × 設定値・設定する内容 JDBCドライバのURLを設定をします。 単位・型 文字列 省略時のデフォルト値 なし 親タグ driver
ユーザ設定¶
タグ名 user 接続するデータベースのユーザに関する設定です。【設定項目】
<web-app> <database jndi-name="jdbc/default"> <driver> ... <user>imart</user> ... </driver> </database> </web-app>
必須項目 ○ 複数設定 × 設定値・設定する内容 データベースのユーザを設定をします。 単位・型 文字列 省略時のデフォルト値 なし 親タグ driver
パスワード設定¶
タグ名 password 接続するデータベースのユーザのパスワードに関する設定です。【設定項目】
<web-app> <database jndi-name="jdbc/default"> <driver> ... <password>imart</password> ... </driver> </database> <web-app>
必須項目 ○ 複数設定 × 設定値・設定する内容 データベースのユーザのパスワードを設定をします。 単位・型 文字列 省略時のデフォルト値 なし 親タグ driver
暗号化パスワード設定¶
タグ名 resin:Password 接続するデータベースのユーザのパスワードに関する設定です。暗号化されたパスワードを使用する場合に使用します。このタグを使用する場合は、予めパスワードを暗号化してください。パスワードの暗号化はコマンドラインからresin.exeを実行します。C:\resin-pro-4.x.xx>resin password-encrypt <パスワード> password: {RESIN}WFpCuWyYSFzuOK1Gda0TxQ==Linux環境の場合はresinctlコマンドを使用してください。resinctlコマンドを使用するにはResinがコンパイル、インストール済みである必要があります。[resin-pro-4.x.xx]# bin/resinctl password-encrypt <パスワード> password: {RESIN}WFpCuWyYSFzuOK1Gda0TxQ==このタグを使用するには設定ファイルに以下のネームスペースが記述されている必要があります。xmlns:resin="urn:java:com.caucho.resin"【設定項目】
<web-app xmlns="http://caucho.com/ns/resin" xmlns:resin="urn:java:com.caucho.resin"> ... <database jndi-name="jdbc/default"> <driver> ... <password> <resin:Password value="{RESIN}WFpCuWyYSFzuOK1Gda0TxQ=="/> </password> ... </driver> </database> <web-app>
必須項目 × 複数設定 × 設定値・設定する内容 なし単位・型 なし 省略時のデフォルト値 なし 親タグ password 【属性】
属性名 説明 必須 デフォルト値 value 暗号化されたパスワードを設定します。 ○ なし
最大コネクション数設定¶
タグ名 max-connections データベースプールで利用可能なコネクションの最大数を設定します。【設定項目】
<web-app> <database jndi-name="jdbc/default"> ... <max-connections>20</max-connections> </database> </web-app>
必須項目 × 複数設定 × 設定値・設定する内容 コネクションの最大数 単位・型 数値 省略時のデフォルト値 1024 親タグ database
プリペアドステートメントキャッシュ設定¶
タグ名 prepared-statement-cache-sizePostgresql Driver, Version 9.4-1202 以降の場合はJDBCドライバの初期化パラメータに設定PreparedStatementを使用してSQLを発行すると、作成されたステートメントはメモリ上にキャッシュされます。次回、同じSQLが発行された場合、キャッシュされたステートメントが再利用され、レスポンスの向上を図ることができます。prepared-statement-cache-sizeは、キャッシュを行うステートメントの個数を設定します。intra-mart Accel Platform では、機能によりSQLの発行や内容が回数が異なります。その為、8, 16程度の個数が設定されている場合キャッシュにヒットせずこの仕組みが有効に機能しない可能性があります。プリペアドステートメントのキャッシュが適切にヒットするよう設定する場合、128等ある程度の個数をキャッシュするよう設定する必要があります。【設定項目】
以下のJDBCドライバを使用する場合はprepared-statement-cache-sizeタグを設定してください。
- Oracle
- Microsoft SQLServer
- Postgresql Driver, Version 9.4-1201 以前
<web-app <database jndi-name="jdbc/default"> ... <prepared-statement-cache-size>8</prepared-statement-cache-size> </database> </web-app>Postgresql Driver, Version 9.4-1202 以降を使用する場合はJDBCドライバの仕様変更により初期化パラメータに preparedStatementCacheQueries を設定する必要があります。prepared-statement-cache-sizeタグの設定は適用されません。<web-app <database jndi-name="jdbc/default"> <driver> ... <init-param> <param-name>preparedStatementCacheQueries</param-name> <param-value>8</param-value> </init-param> </driver> </database> </web-app>
必須項目 × 複数設定 × 設定値・設定する内容 プリペアドステートメントのキャッシュ数 単位・型 数値 省略時のデフォルト値 0 親タグ databasePostgresql Driver, Version 9.4-1202 以降の場合は driver
セッション設定¶
タグ名 session-config セッションに関する設定です。【設定項目】
<web-app> <session-config> ... </session-config> </web-app>
必須項目 × 複数設定 ○ 設定値・設定する内容 セッションに関する設定をします。 単位・型 なし 省略時のデフォルト値 なし 親タグ web-app
セッションIDの再利用設定¶
タグ名 reuse-session-id HTTPセッションのIDを再利用するかどうかを設定します。trueを設定した場合、過去に利用されたセッションIDを再利用します。再利用されるのはIDのみで、過去に保管されていたセッションの情報は引き継ぎません。ログイン、ログアウトにおいて、セッションを再作成しますが、その時に異なるセッションIDを利用する場合は、falseを設定してください。【設定項目】
<web-app> <session-config> <reuse-session-id>false</reuse-session-id> </session-config> </web-app>
必須項目 × 複数設定 × 設定値・設定する内容 HTTPセッションのIDを再利用するかどうかを設定します。 単位・型 真偽値(true/false) 省略時のデフォルト値 true 親タグ session-config
セッションタイムアウト設定¶
タグ名 session-timeout HTTPセッションのタイムアウト時間です。指定した時間セッションを維持します。【設定項目】
<web-app> <session-config> <session-timeout>30</session-timeout> </session-config> </web-app>
必須項目 × 複数設定 × 設定値・設定する内容 HTTPセッションがタイムアウトされるまでの時間を設定をします。単位は分です。 単位・型 数値 省略時のデフォルト値 30 親タグ session-config 注意
セッションタイムアウトは、設定された時間に対して、最大1分間のずれが発生します。例えば、セッションタイムアウトを30分に設定した場合、セッションタイムアウトが発生する時間は最終アクセス後、30分から31分の間となります。
JSPプリコンパイル設定¶
Webアプリケーションに含まれるJSPをサーバ起動時にプリコンパイルを行う設定です。
通常JSPはページがアクセスされた時にコンパイルされますが、JSPプリコンパイル設定を行うことで事前にコンパイルを行うことが可能です。
JSPプリコンパイル設定を行うには、com.caucho.jsp.JspPrecompileListener をresin-web.xmlのServletContextListenerに設定してください。
<web-app> <listener> <listener-class>com.caucho.jsp.JspPrecompileListener</listener-class> <init> <extension>jsp</extension> </init> </listener> </web-app>
<extension> タグにはプリコンパイルを行うファイルの拡張子を指定してください。
上記の例ではWebアプリケーションに含まれるすべてのjspファイルをプリコンパイルを行う対象としています。
さらに詳細にプリコンパイル対象を指定する場合は <fileset> タグを指定します。
<web-app> <listener> <listener-class>com.caucho.jsp.JspPrecompileListener</listener-class> <init> <fileset> <include>**/*.jsp</include> <exclude>/a.jsp</exclude> <exclude>/foo/c.jsp</exclude> </fileset> </init> </listener> </web-app><include> タグはプリコンパイルの対象とするファイル名、<exclude> タグにはプリコンパイルの対象から除外するファイル名を指定します。上記の例でWebアプリケーション内に含まれるすべてのパスのjspファイルをプリコンパイルの対象とし、/a.jsp と /foo/c.jsp のみプリコンパイルの対象から除外しています。