livewell babyPool howto (xml形式での設定)

まずは実物から

以下がbabyPool.xmlで(現在)指定できる内容を全て指定した状態です。この中で必 要な項目を指定して編集したファイルを babyPool.xmlの名前で保存します。 必ず指定しなければならない(であろう)項目のdriver-name, url, user, password 以外は標準値で良ければ指定しなくてもかまいません。

このパラメータの中で特に気を付けなければいけないのは、ping-commandです。こ れはデータベース固有の値ですので、select 1が 通らない場合は他の(一番単純な)SQL文を指定して下さい。

各パラメータの意味は表パラメータタグ一覧表にあり ます。

<?xml version="1.0"?>
<baby-pool>
  <connection-pool>
    <name>defaultPool</name>
    <max-size>10</max-size>
    <min-size>5</min-size>
    <timeout>0</timeout>
    <grow-point>0.8</grow-point>
    <shrink-point>0.2</shrink-point>
    <min-check-interval>100</min-check-interval>
    <idle-check-interval>1000</idle-check-interval>

    <driver-name>org.postgresql.Driver</driver-name>
    <url>jdbc:postgresql://127.0.0.1/hoge</url>
    <user>huga</user>
    <password>hoga</password>
    <extention key="testProp">
      JDBC he watasu kakutyou property
    </extention>

    <ping-command>select 1</ping-command>
    <ping-interval>1000</ping-interval>
  </connection-pool>

  <connection-pool>
    <name>otherPool</name>
    <grow-point>0.9</grow-point>
    <shrink-point>0.40</shrink-point>

    <driver-name>org.postgresql.Driver</driver-name>
    <url>jdbc:postgresql://127.0.0.1/ayu</url>
    <user>ayu</user>
    <password>ayu</password>
  </connection-pool>
</baby-pool>
      
参考:: babyPool.xmlの大まかな構造
<baby-pool>
  <connection-pool>
    1つ目のPool設定
    ここにパラメータタグで値を設定
  </connection-pool>

  <connection-pool>
    2つ目のPool設定
    ここにパラメータタグで値を設定
  </connection-pool>
  .
  .
  .
</baby-pool>
      
パラメータタグ一覧表
パラメータタグ 指定できる値(型) 意味 デフォルト
<name>
  val
</name>
String アプリケーションで一意なプールの名前です。同じ名前のプールを2つ以上作成出来 ません。JNDIから呼ばれるときにも使用されます。 defaultPool
<max-size>
  val
</max-size>
0 <= min-size < val (int) プールできる最大のインスタンス数です。これを超えてインスタンスを作成しません。 10
<min-size>
  val
</min-size>
0 <= val < max-size (int) プールが最低でも準備しておく必要のある最小のインスタンス数です。これ以下の インスタンス数になることは(インスタンスが作成できない場合等の状況を除いて) ありません。 5
<timeout>
  val
</timeout>
0 <= val (int)ms インスタンス取得のタイムアウトです。0を指定すると取得できるまで待機します。 負の値を指定すると取得できない場合、即座にnullを返します。 0
<grow-point>
  val
</grow-point>
0 < shrink-point < val < 1 (float) 新しいインスタンスを生成し始めるプールの使用率です。 0.80
<shrink-point>
  val
</shrink-point>
0 < val < grow-point < 1 (float) インスタンスを破棄し始めるプールの使用率です。 0.20
<min-check-interval>
  val
</min-check-interval>
0 < val < idle-check-interval (int)ms プール内のインスタンス数を調整する最短の時間間隔(ms)です。 100
<idle-check-interval>
  val
</idle-check-interval>
0 < min-check-interval < val (int)ms プール内のインスタンス数を調整するアイドル時の時間間隔(ms)です。 1000
<driver-name>
  val
</driver-name>
String プールで使用するJDBC Driverのfull class name 空文字("")
<url>
  val
</url>
String driver-nameのドライバが理解できるデータベースのURL 空文字("")
<user>
  val
</user>
String データベースのユーザ 空文字("")
<password>
  val
</password>
String データベースユーザのパスワード 空文字("")
<extention key="XXX">
  val
</extention>
String driver-nameのDriverに指定する拡張プロパティで、key="XXX"の部分がDriverに渡す プロパティ名になります。 無し
<ping-command>
  val
</ping-command>
SQL文(String) urlで接続したデータベースが理解できるSQL文です。接続確認(ping)に使用されます。 select 1
<ping-interval>
  val
</ping-interval>
0 <= val (int)ms データベースへの接続を確認する最終アクセスからの時間間隔(ms)です。この時関 内に接続が再使用される場合はping-commandは実行されません。0を指定すると「必ず 」実行するようになります。 1000

babyPool.xmlの配置

ファイルを書き終わったら、先程のファイルを

classpath内のjp/livewell/baby/pool/jdbc/ へ移動します(まだ該当するディレクトリがなければ作成して下さい)。

以上でxml形式での設定は終了です。


前へ 上へ 次へ