山下寛人オフィシャルブログ

オイシックス株式会社 執行役員 システム本部長 山下寛人の公式ブログです。

Jetty tips2

今度は問題のJNDIの設定です。

コードでは

ic.lookup("java:/oisystemPool");

となっています。

この場合は設定は1か所、etc/jetty.xmlに以下を追加します。

<New id="oisystemPool" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg></Arg>
<Arg>java:/oisystemPool</Arg>
<Arg>
<New class="oracle.jdbc.pool.OracleDataSource">
<Set name="DriverType">thin</Set>
<Set name="URL">jdbc:oracle:thin:@192.168.10.44:1521:TST22</Set>
<Set name="User">test002</Set>
<Set name="Password">test002</Set>
<Set name="connectionCachingEnabled">true</Set>
<Set name="connectionCacheProperties">
<New class="java.util.Properties">
<Call name="setProperty">
<Arg>MinLimit</Arg>
<Arg>5</Arg>
</Call>
<!-- put the other properties in here too -->
</New>
</Set>
</New>
</Arg>
</New>


JDBCドライバのjarファイルはjetty直下のlib以下に入れます。

WEB-INF/libだとClassNotFoundExceptionになります。

java:comp/envで取得したい場合はweb.xmlにも設定が

必要ですが、試していないし設定は少ないほうが

よいので省略します。


結果だけ書くとなんてことはないのですが

<Arg>java:/oisystemPool</Arg>

この行がポイントです。

oisystemPool、/oisystemPool、さらにweb.xml

resource-refとの組み合わせなど試し始めると

いろんな組み合わせになるのでちゃんと取れる

組み合わせにするのが非常に困難でした。