TIL

Today I Learned. 知ったこと、学んだことを書いていく

コネクションプールを使用したDBアクセスの設定

DBアクセスするための設定

server.xmlとcontext.xmlを設定する

まずはserver.xml

<Resource name="jdbc/oracle" 
      type="javax.sql.DataSource" 
      driverClassName="oracle.jdbc.driver.OracleDriver" 
      url="jdbc:oracle:thin:@localost:1521:XE" 
      username="KADAI" 
      password="orapass" 
      
      maxActive="100" 
      maxIdle="20" 
      minIdle="5" 
      maxWait="10000"/>

OracleXEの場合

urlの部分はurl="jdbc:oracle:thin@{IPアドレス}:{ポート番号}:{XE固定?}"とする

usernameに指定する値はワークスペース名になる


次にcontext.xml

<ResourceLink name="jdbc/oracleDB"
      global="jdbc/oracle"
      type="javax.sql.DataSource" />

globalで設定する値はserver.xmlのnameで指定した値

接続プールの使用

Javaから接続プールを使用してみる

...
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("java:comp/env/jdbc/oracleDB");
Connection con = ds.getConnection();
...

lookupの引数はjava:comp/env/の後にcontext.xmlでのnameを記述する


参考文献

Tomcat DataSource JNDI Example in Java - JournalDev

TomcatプロジェクトでDataSourceを利用して、DBに接続したときのまとめ(eclipseの例含む) - 感謝のプログラミング 10000時間

Java Tomcatなどのアプリケーションサーバ+DBコネクションプール設定例 - Qiita