手順
HikariCP に JNDI へのデータソース登録用の Factory クラスが用意されているので、glassfish-resources.xml に以下のように設定するだけで OK
※ 以下は MySQL 使用時の例
glassfish-resources.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC
"-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN"
"http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
<custom-resource
jndi-name="java:app/jdbc/sample"
res-type="javax.sql.DataSource"
factory-class="com.zaxxer.hikari.HikariJNDIFactory">
<property name="dataSourceClassName" value="org.mariadb.jdbc.MariaDbDataSource" />
<property name="poolName" value="sample" />
<property name="dataSource.url" value="jdbc:mysql://localhost:3306/sample?useServerPrepStmts=true" />
<property name="dataSource.user" value="xxx" />
<property name="dataSource.password" value="xxx" />
</custom-resource>
</resources>
参照
JNDI DataSource Factory (Tomcat, etc.) · brettwooldridge/HikariCP Wiki