Javaアプリケーションの構築
Autonomous AI DatabaseにアクセスするJavaアプリケーションを構築するには、まず開発システムを構成して、Autonomous AI Databaseの継続的可用性および高パフォーマンス機能を利用できるデータベース・アクセスをサポートするようにします.
データベース・アクセスをサポートするように開発システムを構成した後、継続的な可用性および高パフォーマンスの機能を利用するように、アプリケーション内のデータベース接続およびSQL文をコーディングします。
ヒント:次のトピックを読んでまずに試してみる場合は、開発者およびデータ・ユーザー専用Oracle Autonomous AI Databaseワークショップでラボ5: Javaアプリケーション・スタックの構築を実行できます。
Java開発システムの構成
JavaアプリケーションがAutonomous AI Databaseの継続的な可用性および高パフォーマンスの機能を利用できるように開発システムを構成するには、これらのステップを実行します。
-
Java Development Kit (JDK)をダウンロードしてインストールします。
-
Autonomous AI Databaseのクライアント資格証明をダウンロードします。
-
Oracle Java Database Connectivity (JDBC)ドライバを取得します。
開始する前に
開発システムを正常に構成するためには、それが特定の基準を満たしている必要があります。
-
インターネット・アクセスが必要です。
-
自律型AIデータベースへのネットワーク・アクセスが必要です。
開発システムがこの要件を満たしていることを確認する方法については、データベースにアクセスするための開発システムの構成を参照してください。
JDKのダウンロードとインストール
「Java SEダウンロード」ページに移動します。次に、ページの指示に従って、JDK 8u221以降をダウンロードしてインストールします。
YourAutonomous AIデータベースのクライアント資格証明のダウンロード
-
データベースのクライアント資格証明を含むzipファイルをコンピュータ上の安全なディレクトリにダウンロードします。
このzipファイルは、Oracle Cloudコンソールのデータベースの「詳細」ページからダウンロードできます。このページへのアクセスを許可するOracle Cloudユーザー・アカウントを持っている場合は、次のように資格証明をダウンロードします。そのようなアカウントを持っていない場合は、データベースの管理者から、zipファイルとパスワード(zipファイルの保護に使用された)を一緒に取得する必要があります。
-
WebブラウザでOracle Cloudにサインインし、Autonomous AI Databaseの「詳細」ページに移動します。
-
「DB Connection」をクリックします。
-
「データベース接続」ページで「ダウンロード」をクリックします。
-
「Download Wallet」ダイアログで、「Password」フィールドにパスワードを入力し、「Confirm Password」フィールドにパスワードを確認します。
パスワードは8文字以上の長さで、少なくとも1つの文字と、1つの数字または1つの特殊文字を含める必要があります。
-
「ダウンロード」をクリックして解凍し、クライアント資格証明zipファイルを安全なディレクトリに保存します。
-
Oracle JDBCドライバの取得
Oracle JDBCドライバのバージョン19.6.0.0以降を、Maven Centralか、Oracle Technical ResourcesのJDBCの「ダウンロード」ページから取得します。(関連するビデオおよびその他のリソースについては、Oracle TechnologiesのJDBCホーム・ページを参照してください。)
Maven CentralからJDBCドライバを取得するには、次のステップに従います。
-
Central Maven RepositoryからOracle JDBCドライバを取得します。
ドライバのMaven依存関係GAV (GroupID、ArtifactID、VersionID)を指定して、
ojdbc8.jarをoraclepki.jar、osdt_core.jar、osdt_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ドライバを取得するには、次のステップに従います。
-
Oracle JDBCの「ダウンロード」ページに移動します。次に、ドライバの最新バージョンを選択して、そのバージョン固有のダウンロード・ページに移動します。
-
このアーカイブをダウンロードして、JDBCドライバを配置するディレクトリに解凍します:
ojdbc8-full.tar.gz。 -
Autonomous AI 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"; -
Javaプログラムのコンパイル時および実行時に使用する
CLASSPATH環境変数に、次の解凍されたJARファイルへのパスを追加します。DataSourceSample.javaまたはUCPSample.javaを使用して、Autonomous AI Databaseへの接続を確認します。
-
ojdbc8.jar: コアJDBCドライバ -
oraclepki.jar、osdt_core.jarおよびosdt_cert.jar: ウォレットベースの認証を使用するAutonomous AI Database用 -
ucp.jar: ユニバーサル接続プーリング(UCP)用 -
ons.jarおよびsimplefan.jar: FAN (高速アプリケーション通知)のサポート用
-
データベース接続およびSQL文のコーディング
Autonomous AI DatabaseへのJavaアプリケーションの接続をサポートするよう開発システムを構成したら、次のガイドラインに従って、アプリケーションのデータベース接続の高パフォーマンスおよび継続的な可用性を実現します:
-
接続プールを使用します。
-
FAN (高速アプリケーション通知)を有効にします。
-
実行する操作に最も適した事前定義済データベース・サービスを使用します。事前定義済データベース・サービスの詳細は、Autonomous AIデータベースの事前定義済データベース・サービス名を参照してください。
たとえば:
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 19c JDBC開発者ガイド』または『Oracle Database 26ai JDBC開発者ガイド』のJDBCの概要に関する項
-
Oracle Database JDBC Java APIリファレンス、『Oracle Database 19c JDBC開発者ガイド』または『Oracle Database 26ai JDBC開発者ガイド』
ユニバーサル接続プールの詳細は、次を参照してください。
-
『Oracle Database 19c Universal Connection Pool開発者ガイド』または『Oracle Database 26ai Universal Connection Pool開発者ガイド』のUCPの概要に関する項
-
『Oracle Database 19c Universal Connection Pool Java APIリファレンス』または『Oracle Database 26ai Universal Connection Pool Java APIリファレンス』のOracle Universal Connection Pool APIリファレンス