問題タブ [apache-commons-dbcp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 1.3 の代わりに 1.4 Commons-DBCP が導入される
私には奇妙な状況があります。jar A では、commons-dbcp のバージョン 1.3 を明示的に取り込みます。jar B には、jar A への依存関係があります。ただし、jar B に jar A の依存関係を持ち込むと、maven 依存関係階層は、jar B が現在 1.4 を使用していることを示しています。その依存関係を削除すると、commons-dbcp は私の maven 依存関係階層から削除されるため、他の場所に取り込まれていないと確信できます。そして、jar A の maven 依存関係階層にいるときは、1.3 しか表示されません。
なぜこれが起こっているのか誰にも分かりますか?
java - DBCPを使用したTomcat構成
しばらく(数時間)待機した後、CommunicationsException(DBCPから)が発生します。(例外の)エラーメッセージはこの質問の最後にありますが、どの構成ファイルにもwait_timeoutが定義されていません。(どこを見ればよいですか?tomcat / confディレクトリのどこかですか?)
次に、例外で示唆されているように、「Connector/J接続プロパティ'autoReconnect= true'」はどこに配置しますか?tomcatセットアップのファイルconf/context.xmlのリソース定義は次のとおりです。
第三に、JVMがexecuteQuery()の呼び出しを待って例外をスローするのはなぜですか?接続がタイムアウトした場合、getConnectionメソッドは例外をスローする必要がありますね。これは私が話しているソースコードのセクションです:
最後に、スタックトレースの最初の数行を示します...
これらが、「dbcpを忘れて、IDE構成と内部の魔法に依存しているため、DriverManager.getConnection(...)の方が信頼性が高い」と考える理由です。それについて何かコメントはありますか?あなたの洞察に感謝します、-MS
java - configuring commons DBCP with tomcat 6.0 and java 1.6
I want to use commons DBCP in my web application. I am using java 1.6 and tomcat 6.0 . I really don't know how to configure DBCP as i am going to use it for the first time in my life. Can someone tell me how to configure the dbcp ? I need detailed steps for cofiguration. also i would like to know how to access the connection in servlet after configuration.
Thanks.
java - Spring+dbcpを使用してデータソースを更新します
SpringをDBCPで使用しており、すべてのアプリケーションを再起動せずに、運用環境の構成が変更されたときにデータソースを更新する必要があります。
DBCPを使用せずにこれを行う場合は、現在開いているデータソースを強制的に閉じて、データソースの新しいインスタンスを開始します。
DBCP + Springを使用すると、それはできません。
誰かがそれが可能かどうか知っていますか?
java - SpringJDBC接続プールのベストプラクティス
かなり基本的な構成の基本的なSpringJDBCアプリケーションがあります。
接続プールを紹介したいと思います。SOでいくつかのスレッドを読んだ後、どのプーリングライブラリを使用するかについて少し混乱しています。
SOでより多くのクレジットを持っているように見えるライブラリは、C3P0とDBCPです。Oracleを使用しているので、ドライバーが提供するプールされたデータソースを使用することもできます。
より多くのライブラリが利用可能であることを理解しています。たとえば、新しいApacheTomcat7プーリングライブラリです。
本当に避けるべきライブラリはありますか?
特定のライブラリで使用する必要のある推奨構成はありますか?
共有したい「戦争物語」はありますか?
java - JNDI がルックアップの失敗ではなく NULL uri を持つ DataSource を返すのはなぜですか?
私は同様の質問を探しましたが、 Gaddy JNDI Problem---接続 URL '' のクラス '' の JDBC ドライバーを作成できません'' のような類似した質問しか見つかりませんでした。これは私の一般的な質問に答えません。
Tomcat 7.0.8 ..次のコード
このエラーをスローします。
失敗した理由や修正方法を尋ねているわけではありません。
私の質問は、LOOKUP が失敗しなかったのはなぜですか?
ルックアップによって、null URL を持つ役に立たない BasicDataSource が作成されたのはなぜですか? JNDI名が「存在しない」かどうかを検出するには、それを使用して爆発するかどうかを確認するよりも良い方法はありますか? そのアプローチは、彼らがブリッジをテストする方法を思い出させます。
私はついに弾丸をかじって、生の JDBC コードから JNDI に大量のコードを移動しましたが、まだ多くの謎が残っています。
少なくともデータベースの独立性の錯覚を維持するために、可能であれば BasicDataSource のダウンキャストを避けたいと思います。
ティア
mysql - Tomcat webapp は、再デプロイ後に MySQL ドライバーを使用できません
私は commons-dbcp を使用して、Sun 1.6 JDK を使用してローカルの Tomcat 6.0.28 コンテナー (Ubuntu パッケージ マネージャーを使用してインストール) に WAR ファイルとしてデプロイされる小さな Spring webapp で MySQL データベースの接続プールを実行しています。デプロイは、Tomcat-maven-plugin-1.1 と goal を使用して Maven から行われtomcat:redeploy
ます。MySQL Connector/J jar は webapp のWEB-INF/lib
ディレクトリにあります。
Tomcat の起動後に初めて webapp が読み込まれると、すべて正常に動作します。ただし、webapp を再デプロイすると、Tomcat が webapp をアンデプロイすると、JDBC ドライバーが登録解除されていないと不平を言います。
次に、Tomcat が webapp を再起動すると、データベースへの接続に失敗し、適切なドライバーがないというメッセージが表示されます。
再デプロイ後に Tomcat を手動で再起動すると、すべて正常に動作します。
クラスがロードされるときにMySQLドライバーがDriverManagerに登録することは知っていますがcom.mysql.jdbc.Driver
、Webアプリケーションが再デプロイされたときにクラスがリロードされないようです。Tomcat の WebappClassLoader はWEB-INF/lib
、webapp がリロードされたときにディレクトリからクラスをリロードすることになっていますか、それともデプロイ間でそれらをメモリに保持しますか? または、デプロイ後に自分で MySQL ドライバーを再登録する必要がありますか?
また、ドライバー jar を Tomcat のディレクトリに移動することを提案する投稿をたくさん見てきましたcommons/lib
が、WAR ファイルの外部にある依存関係はできるだけ避けたいと考えています。
よろしくお願いいたします。
sql-server - JDBCSpring構成でSQLServerのスキーマを指定する方法
Springのデータソースの親クラスとしてorg.apache.commons.dbcp.BasicDataSourceを使用しています。
「url」またはDBCPデータソースの別のプロパティで使用するスキーマを指定することはできますか?
mysql - 修正方法: プール使用時の「jdbc:mysql://localhost/dbname に適したドライバーが見つかりません」というエラー
データベースへの接続を作成しようとしています。メイン メソッドを使用してコードをテストすると、シームレスに動作します。ただし、Tomcat 7 からアクセスしようとすると、次のエラーで失敗します。
プーリングを使用しています。mysql コネクタ (5.1.15)、dbcp (1.4)、およびプール (1.4.5) ライブラリを WEB-INF/lib と .classpath にも配置しました。私はEclipse IDEを使用しています。データベースドライバーの私のコードは次のとおりです。
私のスタックトレースの開始:
このエラーの原因は何ですか?
java - DBCPとHibernateonSpringは、デッド接続を再開しません。なぜですか?
私はHibernateとDBCPを使用してmySQL接続を管理しています。これらはすべてSpringプロジェクトで行われます。
すべてが正常に機能しています。唯一の問題は、アプリが長時間静止していると、接続が切断されているために例外がスローされることです(アプリケーションが起動しているときにmySQLdを再起動した場合も同じです)。ユーザーが例外ページ(またはカスタムページ)を取得し、リロードすると問題が解決するため、大したことではありません。しかし、私はそれを解決したいと思います。例外の一部は次のとおりです。
**ネストされた例外を開始します**
java.io.EOFExceptionメッセージ:サーバーからの応答を読み取ることができません。4バイトを読み取ることが期待され、接続が予期せず失われる前に0バイトを読み取ります。
スタックトレース:
java.io.EOFException:サーバーからの応答を読み取ることができません。4バイトを読み取ることが期待され、接続が予期せず失われる前に0バイトを読み取ります。
グーグルで調べたところ、mysqlを使用してdbcp.BasicDataSource
プロパティtestOnBorrow
をtrue
に設定する必要があることがわかりました。これはservlet-context.xmlで行いました。
しかし、問題は解決しません。手がかりはありますか?
解決!私が使用した: