Tomcat での JNDI の設定
Liferay DXP 7.4+
JNDI リソースを設定するには、必要な JDBC ドライバーを Tomcat lib フォルダー (つまり tomcat-9.0.56/lib) に配置する必要があります。 たとえば、Oracle データベースを使用する場合は、 ojdbc8.jar をこのフォルダーにコピーします。 Hikari 接続プールを使用する場合は、 hikaricp.jar および slf4-api.jar ファイルもコピーする必要があります。
必要なファイルをコピーした後、JNDI リソースを定義します。 ローカルで構成する場合は ROOT.xml ファイルに定義を追加し、グローバルで構成する場合は server.xml ファイルに定義を追加します。 次に、 context.xml ファイルにリソース リンクを追加します。
ROOT.xml または server.xmlの設定
たとえば、 tomcat-9.0.56/conf/Catalina/localhost/ROOT.xml ファイルを変更します。
<?xml version="1.0" encoding="UTF-8"?>
<Context crossContext="true">
<JarScanner className="com.liferay.support.tomcat.util.scan.NOPJarScanner" />
<Manager pathname="" />
<Resource name="jdbc/liferay" auth="Container"
factory="com.zaxxer.hikari.HikariJNDIFactory"
type="javax.sql.DataSource"
minimumIdle="5"
maximumPoolSize="10"
connectionTimeout="300000"
driverClassName="oracle.jdbc.OracleDriver"
jdbcUrl="jdbc:oracle:thin:@192.168.1.213:1521/liferay"
dataSource.user="liferay"
dataSource.password="password" />
</Context>
または、 /conf/server.xml ファイル内の GlobalNamingResources 要素内にデータ ソースを定義します。 例:
<GlobalNamingResources>
<Resource name="jdbc/liferay" auth="Container"
factory="com.zaxxer.hikari.HikariJNDIFactory"
type="javax.sql.DataSource"
minimumIdle="5"
maximumPoolSize="10"
connectionTimeout="300000"
driverClassName="oracle.jdbc.OracleDriver"
jdbcUrl="jdbc:oracle:thin:@192.168.1.213:1521/liferay"
dataSource.user="liferay"
dataSource.password="password" />
</GlobalNamingResources>
context.xmlの設定
データ・ソースをグローバルに定義している場合は、/conf/context.xmlファイルにResourceLinkを定義します。 例:
<ResourceLink name="jdbc/liferay" global="jdbc/liferay" type="javax.sql.DataSource" />
ポータルプロパティの設定
portal-ext.properties ファイルで、JNDI 参照を使用します: jdbc.default.jndi.name=jdbc/liferay。