TomcatでDBコネクションプールを取得する方法です。
手順
WEB-INF\conf\server.xmlに以下の記述を追加します。
値は環境に合わせて変えてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<Context path="/MYTEST" reloadable="true" docBase="C:\Tomcat\webapps\MYTEST" workDir="C:\Tomcat\webapps\MYTEST\work" crossContext="true"> <Resource name="jdbc/oracle" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:db01" username="taro" password="taro" /> </Context> |
IP、ポート、SID、ユーザID、パスワードは環境に合わせて設定してください。
使用方法
Servletの中で以下のようにすればDataSourceが取得できます。
「java:comp/env/jdbc/oracle」という箇所の、「java:comp/env/」以下は
上記server.xmlで設定した中の「name」パラメータの値と対応させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.sql.DataSource; import java.sql.Connection; try{ //コネクションプールからデータソースを取得する Context c = new InitialContext(); DataSource ds = (DataSource)c.lookup("java:comp/env/jdbc/oracle"); //データソースからコネクションを取得する Connection conn = ds.getConnection(); }catch(Exception ex){ //例外発生時処理 ex.printStacktrace(); } |
備考
- JDBCドライバのjarを、libフォルダ内に配置しておいてください。
- コネクションプールの使用後は、コネクションをクローズしてプーリングにコネクションを返すのを忘れないようにご注意ください。
コメント