プーリングコネクションするJNDIの設定を、server.xml に記述します。
[ 設定例 MySQL ]
<Resource
driverClassName="com.mysql.jdbc.Driver"
maxActive="300"
maxIdle="100"
maxWait="5000"
name="jdbc/DATABASE_NAME"
password="??????"
type="javax.sql.DataSource"
url="jdbc:mysql://localhost:3306/DATABASE_NAME?characterEncoding=utf8&autoReconnect=true&useSSL=false"
username="??????"
validationQuery="select 1"
testOnBorrow="true"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="60000"
/>
5.7系にバージョンアップした時、はまったのですが、非リモートサーバーのデータベースの場合、urlに useSSL=false を入れる必要あります。(ないと劇遅)
Oracleの中の人に教えてもらったのですが、同一ホスト内の場合、127.0.0.1 より localhost が速いそうです。
[ 設定例 Firebird ]
<Resource
name="jdbc/DATABASE_NAME"
type="javax.sql.DataSource"
driverClassName="org.firebirdsql.jdbc.FBDriver"
password="????????"
maxIdle="40"
maxWait="5000"
username="????????"
url="jdbc:firebirdsql:localhost/3050:DATABASE_NAME?lc_ctype=SJIS_0208"
maxActive="100"
/>
[ 設定例 Oracle ]
<Resource
name="jdbc/SID_NAME"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
password="SID_NAME"
maxIdle="40"
maxWait="5000"
username="????????"
url="jdbc:oracle:thin:@???.???.???.???:1521:SID_NAME"
maxActive="100"/>
[ 設定例 PostgreSQL ]
<Resource
name="jdbc/DBNAME"
type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
password="???????"
maxIdle="40"
maxWait="5000"
username="??????"
url="jdbc:postgresql://127.0.0.1/DBNAME"
maxActive="100"/>
[ 設定例 SQLServer ]
<Resource
name="jdbc/DBNAME"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
password="??????"
maxIdle="40"
maxWait="5000"
username="??????"
url="jdbc:sqlserver://???.????.???.???:1433;DatabaseName=DBNAME"
maxActive="100" />
コメントを投稿するにはログインしてください。