Javaアプリケーションにおいて考慮すべきことを説明します。
Javaアプリケーションは、JDK 7で開発してください。
Java関数として呼び出されるメソッドは、staticメソッドとして実装してください。
メソッドの引数には、可変引数を使用しないでください。
復帰値として返却できるのは単一行のみです。
Javaアプリケーションは、トランザクションの自動コミットがデフォルトでオフとなります。必要に応じてsetAutoCommitメソッドで自動コミットの設定を変更してください。
標準出力と標準エラー出力
Javaアプリケーションが、標準出力または標準エラー出力に情報を出力した場合、コンテナのサーバーログに出力されます。
ファイル出力
Javaアプリケーションは、以下のディレクトリがカレントディレクトリとなります。
なお、絶対パスでファイルを出力する場合、出力先ディレクトリのセキュリティを確保してください。
SolarisおよびLinuxの場合
[ドメインルート(注)]/nodes/localhost-domain1/[サーバインスタンス名]/current
Javaアプリケーションは、インスタンス管理者のユーザーで起動しています。インスタンス管理者のユーザーがファイルアクセスできる権限が必要です。
Windows(R)の場合
[ドメインルート(注)]\nodes\localhost-domain1\[サーバインスタンス名]\current
注)ドメインルートは、ドメインの資源を格納するディレクトリです。詳細は、“運用ガイド”の“PL/extJavaの構成”を参照してください。
以下のシステム管理関数は、Javaアプリケーションの実行が終了するまで待たされます。
pg_terminate_backend
pg_cancel_backend
Javaアプリケーションは、呼び出し元から独立したトランザクションで動作します。そのため、呼び出し元でロールバックした場合、Javaアプリケーションのトランザクションはロールバックされません。
また、Javaアプリケーションでエラーが発生した場合は、コンテナのサーバログに情報が出力されます。詳細は、“運用ガイド”の“PL/extJavaのログ情報”を参照してください。