intra-mart Accel Platform 設定ファイルリファレンス 第15版 2016-12-01

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-size
Postgresql 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
親タグ
database
Postgresql 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 のみプリコンパイルの対象から除外しています。