データベースの接続設定
Universal Java Application Framework X(USAX)におけるデータベースの接続設定について
設定ファイルの配置場所とファイル名
設定ファイルの配置場所
設定ファイルの配置場所はcommon.propertiesで設定します。
settings.directory.jdbcへ配置場所のパスを設定してください。
※サンプルプログラムでは/jp/co/hogehoge/resource/jdbc/が設定されています。
# データベース接続設定の配置先
settings.directory.jdbc = /jp/co/hogehoge/resource/jdbc/
設定ファイルのファイル名
上記の配置場所に置くファイルは
{トランザクションID}.xmlとしてください。
トランザクションはこのXMLファイルごとにトランザクションIDで管理されます。
(例) default.xml
データベース接続設定の記述
接続設定(XML)は
jdbc.xsdに従って設定してください。
様式
<jdbc controller="jp.co.cam.usax.appl.domain.database.impl.TransactionAPI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="./jdbc.xsd">
<database code="{データベースID}" type="{データベース種別}"
driver="{JDBCドライバー}" naming="{JNDI設定ファイル名}" >
<connect mode="DATASOURCE|DRIVER" name="{接続先パスまたはJNDI取得名}"
schema="{スキーマ名}" user="{ユーザーID}" password="{パスワード}">
<query>
<![CDATA[
{初期実行SQLがあれば記述}
]]>
</query>
</connect>
</database>
</jdbc>
設定例(DriverManagerによる接続)
<jdbc controller="jp.co.cam.usax.appl.domain.database.impl.TransactionAPI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="./jdbc.xsd">
<database code="default" type="PGSQL"
driver="org.postgresql.Driver">
<connect mode="DRIVER" name="jdbc:postgresql://127.0.0.1:5432/example"
schema="public" user="postgres" password="postgres">
<query>
<![CDATA[
set search_path to "public"
]]>
</query>
</connect>
</database>
</jdbc>
設定例(DataSourceによる接続)
<jdbc controller="jp.co.cam.usax.appl.domain.database.impl.TransactionAPI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="./jdbc.xsd">
<database code="default" type="PGSQL"
naming="default">
<connect mode="DATASOURCE" name="jdbc:comp/env/jdbc/default"
schema="public">
<query>
<![CDATA[
set search_path to "public"
]]>
</query>
</connect>
</database>
</jdbc>
JNDIを介して接続プールを取得する場合は、JNDIの設定が必要です。
JNDIの設定についてはこちらを参照
JTA(Java Transaction API)の設定
JTAを使用することで分散トランザクションを制御し、2フェーズコミットを実現します。
使用する場合は、データベース接続設定にtransaction-apiの以下を設定してください。
様式
<transaction-api naming="{JNDI設定ファイル名}" jndi="{JNDI取得名}" />
設定例
<transaction-api naming="default" jndi="java:comp/env/UserTransaction" />