Cosminexus V9 アプリケーションサーバ 機能解説 互換編

[目次][用語][索引][前へ][次へ]

4.5.1 受信バッファの管理

受信バッファの管理では,プールする受信バッファ数を指定する場合と指定しない場合とで,受信バッファの再利用のしかたが異なります。ここでは,プールする受信バッファ数を指定しない,デフォルトの場合について説明します。受信バッファ数を指定する場合については,「4.5.2 受信バッファプール数の指定」を参照してください。

受信バッファは,Statementごとに受信バッファプールに生成されます。生成された受信バッファはセクションIDで管理され,同一のStatementで再利用されます。なお,ここでは,Statement,PreparedStatement,およびCallableStatementをStatementと総称します。

受信バッファプールの管理の概要を次の図に示します。

図4-1 受信バッファプールの管理の概要(受信バッファプール数を指定しない場合)

[図データ]

受信バッファが生成されるタイミング
Statementの受信バッファはデータベースとの接続時に一つ生成され,そのセクションIDは「1」になります。これ以降はSQL実行時に受信バッファが生成されます。受信バッファが生成されると,受信バッファプールに登録されます。

受信バッファの保持期間
受信バッファプールに登録された受信バッファは,コネクションがクローズされるまで保持されます。ステートメントをクローズしても,受信バッファは破棄されません。

プールする受信バッファの数
プールできる受信バッファの数は,最大1,024個です。

SQLを実行するメソッド
次のメソッドを実行するとSQLが実行され,受信バッファが生成されます。

表4-16 4SQLを実行するメソッド

クラス メソッド
Connection prepareCall(String sql)
prepareCall(String sql, int resultSetType, int resultSetConcurrency)
prepareStatement(String sql)
prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
DatabaseMetaData getProcedures(String catalog, String schemaPattern, String procedureNamePattern)
getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern)
getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)
getSchemas()
getTableTypes()
getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern)
getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern)
getPrimaryKeys(String catalog, String schema, String table)
getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate)
Statement executeBatch()
execute(String sql)
executeQuery(String sql)
executeUpdate(String sql)
PreparedStatement execute()
executeQuery()
executeUpdate()