JNDI 接続プールをブレークスルーします (Tomcat5.5 で管理インターフェイスを介して接続プールを構成します)
著者:Eve Cole
更新時間:2009-07-03 16:56:20
JNDI 接続プールの切断 - -
数日間の苦労の末、ついに接続プールに接続できるようになりました。この点に関しては、ヒーローによる多くの投稿を参照しました。ここで、ここ数日間に発生したいくつかの問題を書き留めておきます。
1. Microsoft の Web サイトからダウンロードできる 3 つの jdbc ドライバーを tomcat_homecommon に配置します (必須)。インストールされた SQLSERVER2k のデフォルトのユーザー名は sa で、パスワードは空ですが、パスワードが空であっても問題ありません。パスワードが存在しないことを意味するため、URL にユーザー名とパスワードを定義する必要があります。引用できないエラーがある場合は、通常、パスが正しく記述されていないことが原因です。 tomcat のパスは tomcat_homewebapps ですが、5.5 .x を使用します。パスを設定する必要はなく、youwebappWEB-INFweb.xml で参照を設定する必要もありません。 tomcat5.5.x バージョンの server.xml 設定は tomcat5.0 の設定とは異なります。 tomcat5.5.x の設定方法が正しくない場合、 javax.naming.NameNotFoundException: Nameこのコンテキスト エラー メソッドではバインドされていません。 1. グローバル データベース接続プール
1. 管理インターフェイスを介して接続プールを構成するか、tomcatconfserver.xml の GlobalNamingResources に接続プールを直接追加します。
<リソース名="jdbc/mydb" type="javax.sql.DataSource" パスワード="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" ユーザー名 = "sa" url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
2. tomcatwebappsmyappMETA-INFcontext.xml のコンテキストに以下を追加します。
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
それでおしまい。
方法 2. グローバル データベース接続プール
1. 同上
2. tomcatconfcontext.xml のコンテキストに以下を追加します。
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
方法 3: ローカル データベース接続プールは、tomcatwebappsmyappsMETA-INFcontext.xml のコンテキストに追加するだけで済みます。
<リソース名="jdbc/mydb" type="javax.sql.DataSource" パスワード="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" ユーザー名 = "sa" url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
パラメータの説明:
driveClassName: JDBC ドライバー クラスの完全な名前。
maxActive: 接続プールから同時に割り当てることができる使用可能なインスタンスの最大数。
maxIdle: 接続プール内で同時にアイドル状態にできる接続の最大数。
maxWait: 最大タイムアウト (ミリ秒単位)。
パスワード: ユーザーのパスワード;
url: JDBC への URL 接続。
ユーザー: ユーザー名;
validationQuery: プール内のアイドル状態の接続をクエリするために使用されます。
上記の 3 つの方法はすべて Tomcat 5.5.4 で使用できます。なお、SQL Server の JDBC ドライバーは Microsoft Web サイトからダウンロードした SQL Server jdbc (sp3) です。
4. エラー org.apache.tomcat.dbcp.dbcp.SQLNestedException: PoolableConnectionFactory を作成できません ([Microsoft][SQLServer 2000 Driver for JDBC] ソケット確立エラー。) SQLSERVER2K サービスが手動に変更されているため、これは小さな問題です。 SQLSERVER2K は起動するたびに手動で起動する必要があります。記憶せずに起動したため、いくつかのエラーが報告されるため、SQLSERVER2K を頻繁に使用する場合は、手動起動に変更しないことをお勧めします。