Javaアプリケーションの構築

Autonomous DatabaseにアクセスするJavaアプリケーションを構築するには、まず開発システムを構成して、Autonomous Databaseの継続的な可用性および高パフォーマンスの機能を利用できるデータベース・アクセスをサポートするようにします。

データベース・アクセスをサポートするように開発システムを構成した後、継続的な可用性および高パフォーマンスの機能を利用するように、アプリケーション内のデータベース接続およびSQL文をコーディングします。

ヒント:

次のトピックを読まずに実際に試してみる場合は、開発者およびデータベース・ユーザー専用Oracle Autonomous Databaseワークショップラボ5: Javaアプリケーション・スタックの構築を実行できます。

Java開発システムの構成

JavaアプリケーションがAutonomous Databaseの継続的可用性および高パフォーマンスの機能を利用できるように開発システムを構成するには、次のステップを実行します。

  1. Java Development Kit (JDK)をダウンロードしてインストールします。
  2. Autonomous Databaseのクライアント資格証明をダウンロードします。
  3. Oracle Java Database Connectivity (JDBC)ドライバを取得します。

始める前に

開発システムを正常に構成するためには、それが特定の基準を満たしている必要があります。

JDKのダウンロードとインストール

「Java SEダウンロード」ページに移動します。次に、ページの指示に従って、JDK 8u221以降をダウンロードしてインストールします。

Autonomous Databaseのクライアント資格証明のダウンロード

  1. データベースのクライアント資格証明を含むzipファイルをコンピュータ上の安全なディレクトリにダウンロードします。

    このzipファイルは、Oracle Cloudコンソールのデータベースの「詳細」ページからダウンロードできます。次のように資格証明をダウンロードします。

    1. WebブラウザでOracle Cloudにログインし、Autonomous Databaseの詳細ページに移動します。

    2. 「DB接続」をクリックします。

    3. 「データベース接続」ページで、「ダウンロード」をクリックします。

    4. 「ウォレットのダウンロード」ダイアログで、「パスワード」フィールドにパスワードを入力し、「パスワードの確認」フィールドでパスワードを確認します。

      パスワードは8文字以上の長さで、少なくとも1つの文字と、1つの数字または1つの特殊文字を含める必要があります。

    5. 「ダウンロード」をクリックして解凍し、クライアント資格証明zipファイルを安全なディレクトリに保存します。

Oracle JDBCドライバの取得

Oracle JDBCドライバのバージョン19.6.0.0以降を、Maven Centralか、Oracle Technical ResourcesのJDBCの「ダウンロード」ページから取得します。(関連するビデオおよびその他のリソースについては、Oracle TechnologiesのJDBCホーム・ページを参照してください。)

Maven CentralからJDBCドライバを取得するには、次のステップに従います。

  1. Central Maven RepositoryからOracle JDBCドライバを取得します。

    ドライバのMaven依存関係GAV (GroupID、ArtifactID、VersionID)を指定して、ojdbc8.jaroraclepki.jarosdt_core.jarosdt_cert.jarなどの他のjarとともにプルします。Maven Centralガイドを参照してください。

    ojdbc8.jarバージョン19.6.0.0の場合は、次のGAVを指定します:

    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.7.0.0</version>

    ojdbc8.jarバージョン19.7.0.0の場合は、次のGAVを指定します:

    
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8-production</artifactId>
    <version>19.7.0.0</version>
    <type>POM</type>

Oracle Technical ResourcesからJDBCドライバを取得するには、次のステップに従います。

  1. Oracle JDBCの「ダウンロード」ページに移動します。次に、ドライバの最新バージョンを選択して、そのバージョン固有のダウンロード・ページに移動します。

  2. このアーカイブをダウンロードして、JDBCドライバを配置するディレクトリに解凍します: ojdbc8-full.tar.gz

  3. Autonomous Databaseへの接続URLを指定します。

    接続URLにTNS_ADMINを追加し、その値を、クライアント資格証明を解凍したディレクトリのフルパスに設定します。例:

    // Use TNS alias name plus TNS_ADMIN with JDBC driver 18.3 or higher
    DB_URL="jdbc:oracle:thin:@wallet_dbname?
    TNS_ADMIN=/Users/test/wallet_dbname";
    
    // For Microsoft Windows, use this for TNS_ADMIN:
    // TNS_ADMIN=C:\\Users\\test\\wallet_dbname”;
  4. Javaプログラムのコンパイル時および実行時に使用するCLASSPATH環境変数に、次の解凍されたJARファイルへのパスを追加します。

    DataSourceSample.javaまたはUCPSample.javaを使用して、Autonomous Databaseへの接続を確認します。

    • ojdbc8.jar: コアJDBCドライバ
    • oraclepki.jarosdt_core.jarおよびosdt_cert.jar: ウォレットベースの認証を使用するAutonomous Database
    • ucp.jar: ユニバーサル接続プーリング(UCP)用
    • ons.jarおよびsimplefan.jar: FAN (高速アプリケーション通知)のサポート用

データベース接続およびSQL文のコーディング

Autonomous DatabaseへのJavaアプリケーション接続をサポートするように開発システムを構成したら、次のガイドラインに従って、データベースへのアプリケーション接続の高パフォーマンスおよび継続的可用性を実現します:

  • 接続プールを使用します。
  • FAN (高速アプリケーション通知)を有効にします。
  • 実行する操作に最も適した事前定義済データベース・サービスを使用します。事前定義済データベース・サービスの詳細は、Autonomous Databaseの事前定義済データベース・サービス名を参照してください。

例:

import java.sql.Connection;
import javax.sql.PooledConnection;
import oracle.jdbc.OracleConnection;
import oracle.jdbc.replay.OracleDataSourceFactory;
import oracle.jdbc.replay.OracleDataSource;
import oracle.jdbc.replay.OracleConnectionPoolDataSource;
...
  PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
  // Set the connection factory first before all other properties
  pds.setConnectionFactoryClassName(
    "oracle.jdbc.replay.OracleConnectionPoolDataSourceImpl");
  pds.setFastConnectionFailoverEnabled(true);
  pds.setURL("jdbc:oracle:thin:@tp_tls?TNS_ADMIN=/users/jdoe/adbcredentials");
  pds.setUser("appuser");
  pds.setPassword("<password>");
  pds.setConnectionPoolName("JDBC_UCP_POOL");

  Connection conn = pds.getConnection();

その他のリソース

Oracle Database JDBCドライバの詳細は、『Oracle Database JDBC開発者ガイド』および『Oracle Database JDBC Java APIリファレンス』を参照してください。

ユニバーサル接続プールの詳細は、『Oracle Universal Connection Pool開発者ガイド』および『Oracle Universal Connection Pool APIリファレンス』を参照してください。