|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--org.apache.struts.util.GenericDataSource
DataSourceインタフェースの汎用的な実装です。
警告 - この実装は、異なるusername/passwordの組によってコネクション
を提供する方法について関知しません。getConnection(username,password)という
シグニチャを使ってこの実装を呼ぶと例外がスローされます。
スタンダードなGenericDataSource の実装は、
以下の属性をサポートします:
| 属性 | 説明 |
|---|---|
| autoCommit | getConnection()によって得られるコネクションを
「全てのSQLステートメントの実行を自動コミットする」ように設定したい場合にtrueにしてください。
通常のJDBCの慣例に従い、デフォルトはtrueです。
|
| description | このデータソースの簡単な説明です。この属性はインタフェースjavax.sql.DataSource
によって要求されていますが、この実装の中では使われていません |
| driverClass | このデータソースによって生成されるコネクションに使われる、JDBCドライバの完全修飾されたクラス名です。 この属性に設定されるべき値については、JDBCドライバのドキュメントを参照してください。 |
| maxCount | このデータソースによって生成されるJDBC コネクション数の最大値です。
この値は属性minCountと等しいか、それより大きくなければなりません。 |
| minCount | このデータソースによって生成されるJDBC コネクション数の最小値です。
この値は属性maxCountと等しいか、それより小さくなければなりません。 |
| password | このコネクション poolによって生成されるコネクションを確立するための、データベース用のパスワードです。
user属性に設定されるユーザ名と対になります。 |
| pingCommand | non-query型のSQLコマンドで、この値が設定されるとgetConnection()の呼び出しによってコネクションが返される前に実行されます。
このステートメントの実行によってSQLExceptionがスローされる場合、そのコネクションは無効であると判断され、削除されるでしょう。
これはコネクションの割り当ての度に実行されるので、すぐに終わるステートメントであるべきです。 |
| pingQuery | query型のSQLコマンドで(SELECT文等)、指定された場合getConnection()の呼び出しによってコネクションが返される前に実行されます。
このクエリの実行によって(もしくはこれに続く、得られたResultSetの処理によって)SQLExceptionがスローされる場合、
そのコネクションは無効であると判断され、削除されるでしょう。
これはコネクションの割り当ての度に実行されるので、すぐに終わるステートメントであるべきです。 |
| readOnly | getConnection()の呼び出しによって返されるコネクションを読み出し専用にしたい場合に、
この値をtrueに設定してください。これはさらに効率的なデータベースアクセスにつながります。
なぜなら、データベースはトランザクションをロールバックするためのundoログを保持する必要がないからです。
デフォルトはfalseです。 |
| url | 新しいコネクションを確立するときにJDBCドライバに渡される、コネクション URLです。
この値は通常jdbc:で始まり、データベースサーバがコネクションをlistenしているホストへの参照(場合によりポート番号)と、オープンされるデータベース名を含みます。
この属性に設定されるべき値については、JDBCドライバのドキュメントを参照してください。 |
| user | このコネクションプールによって生成されるコネクションを確立するための、データベース用のユーザ名です。
password属性に設定されるパスワードと対になります。 |
これらに加えて、addProperty()を呼び出すことでJDBCドライバに渡されるPropertiesの集合に値を追加することができます。
| フィールドの概要 | |
protected int |
activeCount
このデータソースによって既に生成されたコネクション数です。 |
protected boolean |
autoCommit
新しく生成されるコネクションに使用される、自動コミット設定のデフォルト値です。 |
protected boolean |
closed
このデータソースが既にクローズされたかどうかを表します。 |
protected java.util.LinkedList |
connections
既に生成済みだが現在使われていない(関連するラッパークラスにラップされた) コネクションのリストです。 |
protected int |
debug
このデータソースに関するデバッグレベルです。 |
protected java.lang.String |
description
このデータソースの説明です。 |
protected java.sql.Driver |
driver
コネクションファクトリとして利用されるJDBCドライバです。 |
protected java.lang.String |
driverClass
使用するJDBCドライバのJavaクラスです。 |
protected int |
loginTimeout
このデータソースのコネクションタイムアウト値です。 |
protected java.io.PrintWriter |
logWriter
このデータソース用のログライターです。 |
protected int |
maxCount
生成されるコネクションの最大数です。 |
protected int |
minCount
生成されるコネクションの最小数です。 |
protected java.lang.String |
password
コネクションの確立に使われるデータベースパスワードです。 |
protected java.lang.String |
pingCommand
割り当てられたコネクションの生存確認に用いられるnon-query型のSQLコマンドです。 |
protected java.lang.String |
pingQuery
割り当てられたコネクションの生存確認に用いられるquery型のSQLコマンドです。 |
protected java.util.Properties |
properties
割り当てられたコネクションの生存確認に用いられるnon-query型のSQLコマンドです。 |
protected boolean |
readOnly
新しく生成されるコネクションに使用される、読み出し専用設定のデフォルト値です。 |
private static java.lang.String |
SQLEXCEPTION_GETCONNECTION
|
protected java.lang.String |
url
オープンされるデータベースコネクションのJDBC URLです。 |
protected int |
useCount
このデータソースで生成されたコネクションのうち、現在使用中の数です。 |
protected java.lang.String |
user
コネクションの確立に使われるデータベースユーザ名です。 |
| コンストラクタの概要 | |
GenericDataSource()
|
|
| メソッドの概要 | |
void |
addProperty(java.lang.String name,
java.lang.String value)
コネクションに使用されるコネクションの属性リストに、汎用的な属性を追加します。 |
void |
close()
このデータソースによって生成された全てのコネクションをクローズします。 |
protected java.sql.Connection |
createConnection()
対応するラッパーにラップされた新しいJDBCコネクションを生成、設定して返します。 |
int |
getActiveCount()
|
boolean |
getAutoCommit()
|
java.sql.Connection |
getConnection()
データベースコネクションの確立を試みます。 |
java.sql.Connection |
getConnection(java.lang.String username,
java.lang.String password)
データベースコネクションの確立を試みます。 |
int |
getDebug()
|
java.lang.String |
getDescription()
|
java.lang.String |
getDriverClass()
|
int |
getLoginTimeout()
このデータソースのコネクションタイムアウト値を返します。 |
java.io.PrintWriter |
getLogWriter()
このデータソース用のログライターを返します。 |
int |
getMaxCount()
|
int |
getMinCount()
|
java.lang.String |
getPassword()
|
java.lang.String |
getPingCommand()
|
java.lang.String |
getPingQuery()
|
boolean |
getReadOnly()
|
java.lang.String |
getUrl()
|
int |
getUseCount()
|
java.lang.String |
getUser()
|
protected void |
log(java.lang.String message)
ログライターが設定されていれば、そこに指定されたメッセージを出力します。 |
protected void |
log(java.lang.String message,
java.lang.Throwable throwable)
ログライターが設定されていれば、そこに指定されたメッセージと例外を出力します。 |
void |
open()
このデータソースに適合する最初のコネクションをオープンします。 |
protected void |
ping(java.sql.Connection conn)
指定されたコネクションに設定された pingCommand や
pingQuery を実行し、途中で発生したSQLExceptionを
スローします。 |
(パッケージプライベート) void |
returnConnection(GenericConnection conn)
このコネクションを利用可能なコネクションプールに返却します。 |
void |
setAutoCommit(boolean autoCommit)
|
void |
setDebug(int debug)
|
void |
setDescription(java.lang.String description)
|
void |
setDriverClass(java.lang.String driverClass)
|
void |
setLoginTimeout(int loginTimeout)
このデータソースのコネクションタイムアウト値を設定します。 |
void |
setLogWriter(java.io.PrintWriter logWriter)
このデータソース用のログライターを設定します。 |
void |
setMaxCount(int maxCount)
|
void |
setMinCount(int minCount)
|
void |
setPassword(java.lang.String password)
|
void |
setPingCommand(java.lang.String pingCommand)
|
void |
setPingQuery(java.lang.String pingQuery)
|
void |
setReadOnly(boolean readOnly)
|
void |
setUrl(java.lang.String url)
|
void |
setUser(java.lang.String user)
|
java.lang.String |
toString()
このコンポーネントの文字列による説明を返します。 |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| フィールドの詳細 |
private static final java.lang.String SQLEXCEPTION_GETCONNECTION
protected boolean closed
protected java.util.LinkedList connections
protected java.sql.Driver driver
protected int loginTimeout
protected java.io.PrintWriter logWriter
protected int activeCount
protected boolean autoCommit
protected int debug
protected java.lang.String description
protected java.lang.String driverClass
protected int maxCount
protected int minCount
protected java.lang.String password
protected java.lang.String pingCommand
protected java.lang.String pingQuery
protected java.util.Properties properties
protected boolean readOnly
protected java.lang.String url
protected int useCount
protected java.lang.String user
| コンストラクタの詳細 |
public GenericDataSource()
| メソッドの詳細 |
public void addProperty(java.lang.String name,
java.lang.String value)
name - 属性名value - 対応する属性値public int getActiveCount()
public boolean getAutoCommit()
public void setAutoCommit(boolean autoCommit)
public int getDebug()
public void setDebug(int debug)
public java.lang.String getDescription()
public void setDescription(java.lang.String description)
public java.lang.String getDriverClass()
public void setDriverClass(java.lang.String driverClass)
public int getMaxCount()
public void setMaxCount(int maxCount)
public int getMinCount()
public void setMinCount(int minCount)
public java.lang.String getPassword()
public void setPassword(java.lang.String password)
public java.lang.String getPingCommand()
public void setPingCommand(java.lang.String pingCommand)
public java.lang.String getPingQuery()
public void setPingQuery(java.lang.String pingQuery)
public boolean getReadOnly()
public void setReadOnly(boolean readOnly)
public java.lang.String getUrl()
public void setUrl(java.lang.String url)
public int getUseCount()
public java.lang.String getUser()
public void setUser(java.lang.String user)
public java.sql.Connection getConnection()
throws java.sql.SQLException
javax.sql.DataSource 内の getConnectionjava.sql.SQLException - データベースアクセスエラーが発生するとスローされます。
public java.sql.Connection getConnection(java.lang.String username,
java.lang.String password)
throws java.sql.SQLException
javax.sql.DataSource 内の getConnectionusername - このコネクションの為のデータベースのユーザ名password - このコネクションの為のデータベースのパスワード
java.sql.SQLException - データベースアクセスエラーが発生したときスローされます。
public int getLoginTimeout()
throws java.sql.SQLException
javax.sql.DataSource 内の getLoginTimeoutjava.sql.SQLException - データベースアクセスエラーが発生した場合にスローされます。
public java.io.PrintWriter getLogWriter()
throws java.sql.SQLException
javax.sql.DataSource 内の getLogWriterjava.sql.SQLException - データベースアクセスエラーが発生した場合にスローされます。
public void setLoginTimeout(int loginTimeout)
throws java.sql.SQLException
javax.sql.DataSource 内の setLoginTimeoutloginTimeout - 新しいコネクションタイムアウト値
java.sql.SQLException - データベースアクセスエラーが発生した場合にスローされます。
public void setLogWriter(java.io.PrintWriter logWriter)
throws java.sql.SQLException
javax.sql.DataSource 内の setLogWriterlogWriter - 新しいログライター
java.sql.SQLException - データベースアクセスエラーが発生した場合にスローされます。
public void close()
throws java.sql.SQLException
java.sql.SQLException - データベースアクセスエラーが発生した場合にスローされます。
public void open()
throws java.sql.SQLException
java.sql.SQLException - データベースアクセスエラーが発生した場合にスローされます。public java.lang.String toString()
java.lang.Object 内の toString
protected java.sql.Connection createConnection()
throws java.sql.SQLException
java.sql.SQLException - データベースアクセスエラーが発生した場合にスローされます。protected void log(java.lang.String message)
message - ログ出力されるメッセージ
protected void log(java.lang.String message,
java.lang.Throwable throwable)
message - ログ出力されるメッセージthrowable - ログ出力される例外
protected void ping(java.sql.Connection conn)
throws java.sql.SQLException
pingCommand や
pingQuery を実行し、途中で発生したSQLExceptionを
スローします。
conn - 生存確認されるコネクション
java.sql.SQLExceptionvoid returnConnection(GenericConnection conn)
conn - 返却されるコネクション
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||