2.16.1 create-jdbc-connection-pool
JDBCコネクションプールの登録
書式
asadmin [asadmin-options] create-jdbc-connection-pool [--help] [--datasourceclassname=datasourceclassname] [--restype=resourcetype] [--steadypoolsize=poolsize] [--maxpoolsize=maxpoolsize] [--maxwait=maxwaittime] [--poolresize=poolresizelimit] [--idletimeout=idletimeout] [--isolationlevel=isolationlevel] [--isisolationguaranteed={true|false}] [--isconnectvalidatereq={false|true}] [--validationmethod=validationmethod] [--validationtable=validationtable] [--nontransactionalconnections={false|true}] [--validateatmostonceperiod=validationinterval] [--leaktimeout=leaktimeout] [--leakreclaim={false|true}] [--creationretryattempts=creationretryattempts] [--creationretryinterval=creationretryinterval] [--statementtimeout=statementtimeout] [--lazyconnectionenlistment={false|true}] [--lazyconnectionassociation={false|true}] [--driverclassname=jdbcdriverclassname] [--matchconnections={false|true}] [--maxconnectionusagecount=maxconnectionusagecount] [--ping={false|true}] [--pooling={false|true}] [--statementcachesize=statementcachesize] [--validationclassname=validationclassname] [--description description] [--property name=value[:name=value]...] connectionpoolid
格納先
Application Serverインストールディレクトリー/javaee/glassfish/bin
機能
create-jdbc-connection-poolサブコマンドは、指定されたJDBCコネクションプール名を持つJava Database Connectivity(JDBC)ソフトウェアを新規登録します。
次のようにして、認証付きのJDBCコネクションプールは作成できます。
-
--propertyオプションを使用して、ユーザー、パスワードなどのコネクション情報を指定します。
-
XMLディスクリプターファイルでコネクション情報を指定します。
接続するデータベースに応じて次に示すオプションを指定します。
-
HiRDBに接続する場合に指定するオプション
オプション名
値
備考
--datasourceclassname
JP.co.Hitachi.soft.HiRDB.JDBC.PrdbDataSource
※1
JP.co.Hitachi.soft.HiRDB.JDBC.PrdbXADataSource
※2
--restype
javax.sql.DataSource
※1
javax.sql.XADataSource
※2
--validationmethod
custom-validation
※3
--validationclassname
com.hitachi.software.javaee.jca.connectionvalidation.HiRDBConnectionValidation
※3
--property
description
ポート番号
※1
環境変数グループ識別子
※2
DBHostName
HiRDBのホスト名
-
XALocalCommitMode
true
※2、※4
XAOpenString
環境変数グループ識別子+HiRDB.iniファイルのパス
※2
user
ユーザー名
-
password
パスワード
-
HiRDBINI
HiRDB.INIファイルが存在するディレクトリーの絶対パス
※5
-
Oracleに接続する場合に指定するオプション
オプション名
値
備考
--datasourceclassname
oracle.jdbc.pool.OracleDataSource
※1
oracle.jdbc.xa.client.OracleXADataSource
※2
--restype
javax.sql.DataSource
※1
javax.sql.XADataSource
※2
--validationmethod
custom-validation
※3
--validationclassname
org.glassfish.api.jdbc.validation.OracleConnectionValidation
※3
--property
databaseName
Oracle SID
※6
serverName
Oracleのホスト名称、またはIPアドレス
※6
portNumber
ポート番号
※6
user
ユーザー名
-
password
パスワード
-
driverType
thin
※6
url
jdbc:oracle:thin:@Oracleのホスト名称、またはIPアドレス:ポート番号:Oracle SID
※6
-
SQL Serverに接続する場合に指定するオプション
オプション名
値
備考
--datasourceclassname
com.microsoft.sqlserver.jdbc.SQLServerDataSource
※1
com.microsoft.sqlserver.jdbc.SQLServerXADataSource
※2
--restype
javax.sql.DataSource
※1
javax.sql.XADataSource
※2
--validationmethod
custom-validation
※3
--validationclassname
org.glassfish.api.jdbc.validation.MSSQLConnectionValidation
※3
--property
databaseName
SQL Serverデータベース名
-
serverName
SQL Serverのホスト名称、またはIPアドレス
-
portNumber
ポート番号
-
user
ユーザー名
-
password
パスワード
-
- 注※1
-
XAトランザクションを使用しない場合に指定します。
- 注※2
-
XAトランザクションを使用する場合に指定します。
- 注※3
-
コネクション障害検知を行う場合だけ指定します。
- 注※4
-
このオプションは、トランザクションがグローバルトランザクションでないときに、オートコミット機能を有効にするかどうかを設定します。この設定がtrueでない場合、コネクション障害検知機能が正常に動作しません。コネクション障害検知機能を使用する場合、trueを指定します。
- 注※5
-
XAトランザクションを使用しない場合、かつHiRDB.iniファイルに指定されている設定を使用する場合に指定します。
- 注※6
-
databaseName、serverName、portNumber、driverTypeの4つのプロパティーか、urlのどちらかを指定します。両方を指定した場合、urlが有効になり、それ以外の4つのプロパティーは無視されます。
このサブコマンドはリモートモードだけサポートします。
前提条件
ドメイン管理サーバは、稼働状態である必要があります。
ファイル
JDBCコネクションプールを作成するのに--propertyオプションを使用しない場合は、XMLディスクリプターでコネクション情報を指定します。
引数
- --help | -?
-
このサブコマンドのヘルプテキストを表示します。
- --datasourceclassname=datasourceclassname
-
ベンダー供給のJDBCデータソースのリソースマネージャーの名称を指定します。グローバルトランザクションを使用する場合は、javax.sql.XADatasourceインターフェースを実装したクラスを指定します。
型:String
指定できる値を次に示します。
-
datasourceクラス名
デフォルト値:なし
-
- --restype=resourcetype
-
このオプションは次のどちらかの場合に必要になります。
-
DataSourceクラスが、javax.sql.DataSource、javax.sql.XADataSourceまたはjavax.sql.ConnectionPoolDataSourceのうち2つ以上のインターフェースを実装する時
-
Driverクラスの提供が必須の時
--restypeオプションにjava.sql.Driverを指定する場合、--driverclassnameオプションも必要です。
--restypeオプションにjavax.sql.DataSource、javax.sql.XADataSource、またはjavax.sql.ConnectionPoolDataSourceを指定する場合、--datasourceclassnameオプションも必要です。
--restypeオプションを指定しない場合、--driverclassnameオプションか--datasourceclassnameオプションのどちらか一方を必ず指定してください。
型:String
指定できる値を次に示します。
-
java.sql.Driver
-
javax.sql.DataSource
-
javax.sql.XADataSource
-
javax.sql.ConnectionPoolDataSource
デフォルト値:なし
-
- --steadypoolsize=poolsize
-
プールに保持する初期コネクション数と最小コネクション数を指定します。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:24
glassfish-resources.xmlのjdbc-connection-pool要素のsteady-pool-size属性のデフォルト値も、このオプションのデフォルト値と同じです。
-
- --maxpoolsize=maxpoolsize
-
作成できる最大コネクション数を指定します。
型:Integer
指定できる値を次に示します。
-
1〜2147483647
デフォルト値:24
glassfish-resources.xmlのjdbc-connection-pool要素のmax-pool-size属性のデフォルト値も、このオプションのデフォルト値と同じです。
-
- --maxwait=maxwaittime
-
コネクションタイムアウトが送信されるまでに、呼び出し側が待機する必要がある時間をミリ秒単位で指定します。
値0は、呼び出し側を無期限に待機させます。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:60000
-
- --poolresize=poolresizelimit
-
idle-timeout-in-secondsタイマーが終了の際、解除されるコネクション数を指定します。
型:Integer
指定できる値を次に示します。
-
1〜2147483647
デフォルト値:2
-
- --idletimeout=idletimeout
-
コネクションをアイドル状態で維持できる最長時間を秒単位で指定します。
このタイムアウト値は、アプリケーションのコネクションに使えない時間の蓄積を避けるため、データベースサーバ側のタイムアウト値よりも短くする必要があります。
0を指定した場合、無効になります。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:300
-
- --isolationlevel=isolationlevel
-
プール化データベースコネクションに設定されたトランザクションアイソレーションレベルを指定します。
プールされたコネクションに対して分離レベルをプログラム的に変更するようなアプリケーションを利用した場合、プールに不整合が起きる危険があります。これはプログラムエラーにつながります。
型:String
指定できる値を次に示します。
-
read-uncommitted
-
read-committed
-
repeatable-read
-
serializable
デフォルト値:JDBCドライバーのプロバイダーが設定する独立性レベル
-
- --isisolationguaranteed={true|false}
-
特定の分離レベルがトランザクションアイソレーションレベルに指定された場合にだけ適用されます。
型:Boolean
指定できる値を次に示します。
-
true
-
false
デフォルト値:true
-
- --isconnectvalidatereq={false|true}
-
コネクション障害検知機能を使用するかどうかを指定します。trueの場合、コネクション障害検知機能を使用します。
型:Boolean
指定できる値を次に示します。
-
true
-
false
デフォルト値:false
-
- --validationmethod=validationmethod
-
--isconnectvalidatereqオプションがtrueの場合、実行する検証のタイプを指定します。
-
auto-commitを指定した場合:
Connection#setAutoCommit(Connection#getAutoCommit())を実行します。
-
meta-dataを指定した場合:
Connection#getMetaData()を実行します。
-
tableを指定した場合:
--validationtableオプションで指定したテーブルに対して、SELECT文を実行します。
-
custom-validationを指定した場合:
--validationclassnameオプションで指定したユーザ定義のクラスを使用します。
型:String
指定できる値を次に示します。
-
auto-commit
-
meta-data
-
table
-
custom-validation
デフォルト値:table
-
- --validationtable=validationtable
-
使用する検証テーブルの名称を指定し、SELECT文を実行してコネクションを検証します。
--isconnectvalidatereqオプションがtrueの場合、--validationmethodオプションがtableに設定されていれば、このオプションの設定は必須です。
型:String
指定できる値を次に示します。
-
検証テーブル名
デフォルト値:なし
-
- --nontransactionalconnections={false|true}
-
このプロパティーを持つプールがtrueに設定の場合、非トランザクションコネクションを返します。このコネクションは、トランザクションマネージャーに自動的に登録されません。
型:Boolean
指定できる値を次に示します。
-
true
-
false
デフォルト値:false
-
- --validateatmostonceperiod=validationinterval
-
連続するリクエスト間で、コネクションを検証する間隔を秒単位で指定します。この属性を適切な値に設定すると、コネクションの検証リクエスト数を最小限にします。
0を指定した場合、常にコネクションを検証します。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:0
-
- --leaktimeout=leaktimeout
-
コネクションプール内のコネクションリークを追跡する時間を秒単位で指定します。指定の時間内にアプリケーションによってコネクションがプールに戻されない場合は、潜在的リークがあるものと見なされ、呼び出し側のスタックトレースが記録されます。0を指定した場合はコネクションリークを追跡しません。
コネクションリークがある場合にだけ、このオプションで検知できます。
--leakreclaimオプションがtrueに設定される場合だけ、コネクションは再開できます。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:0
-
- --leakreclaim={false|true}
-
リークコネクションの追跡が完了した後で、リークコネクションをコネクションプールに復元するかどうかを指定します。
型:Boolean
指定できる値を次に示します。
-
true
リークコネクションはコネクションプールに復元されます。
-
false
リークコネクションはコネクションプールに復元されません。
デフォルト値:false
-
- --creationretryattempts=creationretryattempts
-
Java EE Serverが、最初のコネクションの確立に失敗した場合に、最大何回までコネクション再確立を試行するかを指定します。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:0
-
- --creationretryinterval=creationretryinterval
-
コネクション確立のリトライ間隔を秒単位で指定します。
--creationretryattemptsが0の場合、--creationretryintervalオプションは無視されます。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:10
-
- --statementtimeout=statementtimeout
-
完了していないクエリーが終了するまでの時間を秒単位で指定します。
型:Integer
指定できる値を次に示します。
-
-1〜2147483647
デフォルト値:-1
-
- --lazyconnectionenlistment={false|true}
-
メソッドがリソースを実際に使用する場合、リソースをトランザクションに参加させるかどうかを指定します。
型:Boolean
指定できる値を次に示します。
-
true
メソッドがリソースを実際に使用する場合に限り、リソースをトランザクションに参加させます。
-
false
リソースはトランザクションに常時参加させます。メソッドがリソースを実際に使用する場合に限りません。
デフォルト値:false
-
- --lazyconnectionassociation={false|true}
-
物理コネクションを使用する際に、その物理コネクションを論理コネクションに関連づけ、および、トランザクションが完了した際には関連づけないことを指定します。関連づけの有無は物理コネクションの再使用を有効にします。
型:Boolean
指定できる値を次に示します。
-
true
物理コネクションは、物理コネクションを使用するときだけに関連づけられ、トランザクションが完了した際には関連づけられません。
--lazyconnectionenlistmentオプションもtrueに設定する必要があります。
-
false
物理コネクションは、物理コネクションを使用する前でも論理コネクションに関連づけられ、トランザクションが完了した際には関連づけられません。
デフォルト値:false
-
- --driverclassname=jdbcdriverclassname
-
ベンダー供給のJDBCドライバーのクラス名を指定します。このドライバーはjava.sql.Driverインターフェースを実装している必要があります。
型:String
指定できる値を次に示します。
-
java.sql.Driverインターフェースを実装するJavaクラス
デフォルト値:なし
-
- --matchconnections={false|true}
-
プールから選択したコネクションがリソースアダプターと一致する必要があるどうかを指定します。
プール内のすべてのコネクションが同一の場合、コネクションとリソースアダプターが一致する必要はありません。
型:Boolean
指定できる値を次に示します。
-
true
コネクションはリソースアダプターと一致する必要があります。
-
false
コネクションはリソースアダプターと一致する必要はありません。
デフォルト値:false
-
- --maxconnectionusagecount=maxconnectionusagecount
-
コネクションを再使用できる最大回数を指定します。最大数に達すると、コネクションが閉じられます。コネクションを再使用できる最大回数を制限することで、ステートメントのリークが回避できます。0を指定した場合はコネクションを再使用できる回数の上限がなくなります。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:0
-
- --ping={false|true}
-
trueの場合、コネクションプール作成時または再構成時にコネクションプールが使用できるかどうかテストします。
型:Boolean
指定できる値を次に示します。
-
true
-
false
デフォルト値:false
-
- --pooling={false|true}
-
プールに対してコネクションのプーリングが有効かどうかを指定します。
型:Boolean
指定できる値を次に示します。
-
true
-
false
デフォルト値:true
-
- --statementcachesize=statementcachesize
-
デフォルトのキャッシュ機構を使用してキャッシュされるSQLステートメント数を指定します。
型:Integer
指定できる値を次に示します。
-
0〜2147483647
デフォルト値:0
-
- --validationclassname=validationclassname
-
--validationmethodオプションがcustom-validationのときに独自の検証を提供するクラス名を指定します。 このクラスは、org.glassfish.api.jdbc.ConnectionValidationインターフェースを実装する必要があり、さらにJava EE Serverにアクセスできるようにする必要があります。
--validationmethodオプションがcustom-validationに設定されている場合、このオプションは必須です。
型:String
指定できる値を次に示します。
-
org.glassfish.api.jdbc.ConnectionValidationインターフェースを実装したクラス
デフォルト値:なし
-
- --description description
-
指定されたJDBCコネクションプールの詳細を説明するテキストを指定します。
型:String
指定できる値を次に示します。
-
テキストでの説明
デフォルト値:なし
-
- --property name=value[:name=value]...
-
プールを構成するためのオプションの属性名と値のペアを指定します。
指定形式は、name=valueです。複数指定する場合は、コロン(:)で区切ります。同じプロパティー名を複数指定した場合は、最後に指定したプロパティーの値が有効となります。
属性名または属性値にコロンが含まれる場合、そのコロンをエスケープするために円記号(\)を使用する必要があります。 別の文字でも、エスケープ文字が必要になることがあります。
HiRDBまたはOracleに接続するためのプロパティーは、それぞれ「HiRDBに接続する場合に指定するオプション」または「Oracleに接続する場合に指定するオプション」を参照してください。そのほかに指定できるプロパティーについては、使用するデータベースのマニュアルを参照してください。
プロパティー名とvalueに指定できる値を次に示します。
user=value
データベースに接続するために必要なユーザー名を指定します。
型:String
デフォルト値:なし
password=value
型:String
デフォルト値:なし
データベースに接続するために必要なパスワードを指定します。
databaseName=value
このコネクションプールのデータベースを指定します。
型:String
デフォルト値:なし
serverName=value
このコネクションプールのデータベースサーバを指定します。
型:String
デフォルト値:なし
portNumber=value
データベースサーバがリクエストをリッスンするポートを指定します。
型:Integer
指定できる値を次に示します。
-
1〜65535
デフォルト値:なし
networkProtocol=value
通信プロトコルを指定します。
型:String
デフォルト値:なし
roleName=value
初期SQLロール名を指定します。
型:String
デフォルト値:なし
datasourceName=value
コネクションプーリングが動作するXADataSourceまたはConnectionPoolDataSourceを指定します。
型:String
デフォルト値:なし
description=value
テキストの説明を指定します。
型:String
デフォルト値:なし
url=value
このコネクションプールのURLを指定します。これは標準プロパティーではありませんが、共通に使用されます。
型:String
デフォルト値:なし
dynamic-reconfiguration-wait-timeout-in-seconds=value
コネクションプールの動的再構成を、コネクションプールを使用中のアプリケーションに透過的に有効にするために使用されます。これによって、プールへの属性またはプロパティーの変更を有効にするためにアプリケーションを再起動する必要がなくなります。
処理中のトランザクションのコネクション取得要求は、タイムアウト期間内のコネクション取得要求であるかぎり、トランザクションを完了するために古いプール構成のまま実行することが許可されます。新しいコネクション取得要求はプールの再構成が完了するまで待機し、コネクションは変更されたプール構成を使用して取得されます。
型:Long
指定できる値を次に示します。
-
x〜y(xの値×1000 ≧ -9223372036854775808 および yの値×1000 ≦ 9223372036854775807)
デフォルト値:0
-
- connectionpoolid
-
作成するJDBCコネクションプールの名称を指定します。
型:String
指定できる値を次に示します。
-
コネクションプールID
デフォルト値:なし
-
使用例
次の例は、JDBCコネクションプールを作成します。
asadmin create-jdbc-connection-pool --datasourceclassname org.apache.derby.jdbc.ClientDataSource --restype javax.sql.XADataSource --property portNumber=1527:password=APP:user=APP:serverName= localhost:databaseName=sun-appserv-samples:connectionAttributes=\; create\\=true sample_derby_pool
戻り値
戻り値 |
説明 |
---|---|
0 |
サブコマンドの実行に成功しました。 |
1 |
サブコマンドの実行中にエラーが発生しました。 |