Hitachi

Hitachi Microservices Platform - Paxos Commit Transaction Orchestrator ユーザーズガイド


6.3.3 PctoDataSourceクラス

説明

データベースに接続するためのファクトリクラスです。このDataSourceオブジェクトが表す物理データ・ソースへの接続で使用します。DriverManager機能の代わりに、DataSourceオブジェクトが接続を得るための手段となります。

DataSourceインタフェースを実装するオブジェクトは、Java Naming and Directory (JNDI) APIを基にしたネーム・サービスに登録されます。

DataSourceオブジェクトがルックアップ操作によって取得されて、Connectionオブジェクトを作成するために使用されます。基本実装では、DataSourceオブジェクトによって取得された接続は、DriverManager機能によって取得した接続と同じものになります。

メソッド

PctoDataSourceクラスのメソッドの一覧を次の表に示します。

表6‒10 PctoDataSourceクラスのメソッドの一覧

メソッド

説明

getConnection()

このDataSourceオブジェクトが表すデータ・ソースへの接続の確立を試みます。

isWrapperFor(Class<?> iface)

指定されたインタフェースを実装しているラッパーである場合かを返します。

パッケージ名称
jp.co.Hitachi.soft.hmppcto.jdbc.client
〈この項の構成〉

(1) getConnection()

説明

このDataSourceオブジェクトが表すデータ・ソースへの接続の確立を試みます。

形式
public Connection getConnection() throws SQLException
引数

なし。

戻り値
java.sql.Connection:

Spring Bootの設定ファイル(application.properties、application.ymlなど)に設定している次の項目のURLの接続を表すオブジェクトを返します。

  • spring.datasource.url

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

データベースアクセスエラーが発生した場合に送出します。

PctoCommunicationFailureException:

次の場合に例外を送出します。

  • 設定ファイルで指定された接続先ParticipantのURLの形式が不正の場合

  • Entity-ServiceとParticipant間の通信に失敗した場合

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoTransactionStartException:

次の場合に例外を送出します。

  • Participantの内部で障害が発生しトランザクションを開始できない場合

  • トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoConnectionLackedException:

パラメタ「db.pool.max-pool-size」の指定値よりもDBコネクション数を多く使用しようとした場合に送出します。

(2) isWrapperFor(Class<?> iface)

説明

指定されたインタフェースを実装しているラッパーである場合かを返します。

形式
public boolean isWrapperFor(Class<?> iface) throws SQLException
引数
iface:

インタフェースを定義するクラス。

戻り値

falseを返します。