問題タブ [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.
jdbc - 2011/2012 での Java JDBC 接続プール ライブラリの選択は?
新しいアプリケーション プロジェクト (Web アプリケーションではない) には、どの JDBC 接続プール ライブラリを使用すればよいですか?
- Apache DBCP には、2.0 までプッシュされる未解決の問題が十分にあると思います。
- C3P0の開発は中止されているようです。
- そして、どちらも比較的遅いように見えます。
- プロクソールは死んだ。
- DBPoolにはほとんどコミュニティがありません (少なくとも、公開されているコミュニティは見つかりませんでした。フォーラムもメーリング リストもありません...)。
- Apache Tomcat プールは、Tomcat なしでは使用できないようです
- Oracle Web サイトでSQL データソースの記事を見つけましたが、サーブレットや Web サービスなどのコンテナーで実行されているアプレットにのみ適用できるようです。
BoneCPを選択する必要がありますか? 大きな要件はありません。アクティブに開発中の、使いやすくて使いやすいデータベース接続プールが必要です。作者がバグレポートに返信したり、特定の質問に答えたりできるライブラリ。
ところで、実際には、MySQL のみを使用しています。MySQL ドライバーが DriverManager インターフェイスをサポートしていることがわかりましたが、実際に接続をプールするかどうかはわかりません。
oracle - ibatis config XML でプログラム名を設定するには?
iBatis dao config を使用して、プログラム名を「jdbc シン クライアント」以外に設定しようとしています。
私の dao XML 設定ファイルから:
これは、次を追加するのと同じくらい簡単だと思います。
しかし、それはうまくいきませんでした。番組名は変更なし。私は何を間違っていますか?
java - TomcatにデプロイされたDBCPのデッドロックの問題
Spring構成でDBCPデータソース(デフォルト構成)を使用してデータベースへの接続を管理していますが、クライアントの数が増えるとデッドロック状態になります。
私が使用していたDBCP1.2.1にデッドロックの問題があることがわかりました。これは、1.4で解決されるはずでした。そのため、1.4にアップグレードしましたが、問題は解決しません。
スレッドダンプには、次のスタックトレースでブロックされた多くのスレッドがあります。
どんな提案でも大歓迎です!
java - Spring CallableStatementCreator
こんにちは私は春が初めてです。CallableStatementCreatorを使用してストアドプロシージャにアクセスしようとしましたが、エラーが発生します。
原因:org.springframework.beans.factory.BeanCreationException:クラスパスリソース[StoredProcCallApplication-config.xml]で定義された「SampleDataSource」という名前のBeanの作成中にエラーが発生しました:Beanのインスタンス化に失敗しました。ネストされた例外はjava.lang.NoClassDefFoundErrorです:org / apache / commons / pool / impl / GenericObjectPool
StoredProcCall.java
TestCallImpl.java
StoredProcCallApplication-config.xml
java - SQLServerでスリープ状態の接続
データベース管理者ではないので( MSデータベース管理者ではありません:)、私が書いたコードの一部がデータベースに「スリープ状態の接続」を残しているという苦情を受けました。
私のコードはJavaで、接続プールにApacheCommonsDBCPを使用しています。また、Springを使用JdbcTemplate
して接続の状態を管理しているので、接続を閉じないことは問題外です(ライブラリが私のためにそれを行っているため)。
私の主な質問は、DBAの観点から、これらの接続が停止またはパフォーマンスの低下を引き起こす可能性があるかどうかです。
この質問は関連しています。現在、設定はそのままです(プール内のアクティブ/アイドル接続は無限です)。
java - Tomcatで処理されたデータソースを強制的に初期化する
Java WebアプリケーションでいくつかのPermGen関連の問題を排除した後、私は次の点に到達しました。
- アプリケーションはTomcat6.0.32で実行され、Tomcat管理を使用します
DataSource
- で
DataSource
定義されています$TOMCAT_HOME/conf/context.xml
- アプリケーションが起動すると、アプリケーションが検索し、
DataSource
その時点でのみDataSource
インスタンス化されます。 BasicDataSource
commons-dbcpからの実装はクラスをロードし、GenericObjectPool
クラスは次にjava.util.Timer
- タイマー
TimerThread
は、GCルートであり、Webアプリケーションクラスローダーによってロードされるを開始します。
タイマー作成のスタックトレース
webappクラスローダーによってロードされているように表示されるタイマー
私の最初は、TomcatにDataSource
熱心に初期化するように依頼し、それを一般的なクラスローダーに固定することでしたが、それを行う方法が見つかりませんでした。もちろん、これを解決する他の方法も受け入れています(ただし、JNDIにバインドされたリソースはそのままにしておく必要があります)。
TimerThread
がWebアプリクラスローダーにリンクされていることを確認するにはどうすればよいですか?
jdbc - c3p0 または dbcp または BoneCP は、切断された接続を処理できます
jdbc接続を処理するためのc3p0とdbcpについて読んでいて、多くの問題や、dbcpは死んでいるがc3p0はjdbc4を実行できないなどと言う人々を聞いています。しかし、これらの投稿が古くなっているかどうかはわかりません。
ここで、壊れた接続がどのように処理されるかを説明している BoneCP を見つけました。接続はラップされ、BoneCP はアプリケーションに渡される前に例外の事前チェックを行います。接続に問題がある場合、BoneCP はその接続をプールから削除します。
1.) これらすべてのプールには、そのような接続処理がありますか?
2.) この質問は何度も聞かれますが、2011 年からは答えが見つかりませんでした。次の 10 年間、またはそれ以上維持される新しいアプリケーションには、何を使用すればよいでしょうか。
spring - 接続が閉じられていないTomcat5.5を使用したSpring
SpringFramework2.0でj2eeアプリケーションを使用しています。使用されるサーバーはtomcat5.5です。使用されるデータベースはmysqlです。アプリケーションのホスティングにVPSを使用していますが、アプリケーションを使用するユーザーが増えると、CPU使用率が高くなることがわかりました。ユーザーがアプリケーションの使用を停止しても、CPU使用率は低下しません。正しく閉じられていないのは接続ですか、それとも他の問題がありますか?
接続のservlet.xml構成は次のとおりです
使ってみました
しかし、どちらも同じ問題を引き起こします。誰かが私たちをすぐに助けてくれますか?早急にこの問題を修正する必要があるためです。前もって感謝します。
java - Apache Commons DBCP 接続オブジェクトの問題、スレッド: org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper の ClassCastException
Apache Commons DBCP ( commons-dbcp.jar
) 接続プールを使用しています。
プールから接続を取得すると、それは class にラップされorg.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
ます。
私の要件は、文字列の配列を Oracle の pl/sql ストアド プロシージャに渡すことです。
次のコード スニペットで行っていることは次のとおりです。
上記のコードを実行すると、次の例外が発生します。
java.lang.ClassCastException: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper は、oracle.sql.ArrayDescriptor.createDescriptor で oracle.jdbc.OracleConnection にキャストできません
ほとんどのサイトやフォーラムで解決策を見つけようとしましたが、満足のいく答えや解決策を得ることができませんでした。
java - jdbcスプリングセキュリティ、apache commons dbcp
Spring Securityで、jdbc認証マネージャーを定義しました。
この時点で、JakartaCommonsDBCPが必要であることがわかりました。commons-dbcp-1.4を追加しましたが、次の例外が発生します。
このパスは、実際にはcommonsdbcp1.4には含まれていません。
私はまた何が欠けていますか?
編集
OK、共通プールに依存関係を追加しました。正しいクレデンシャルを使用すると、「不正なクレデンシャル」ページが表示されなくなるため、機能します。しかし、HTTPステータス403が表示されます-アクセスが拒否されました。
私のユーザーは認証されているようですが、許可されていません。
何か案が...?:-)
私のhttp要素は:
そして、「authorities」テーブルの「USER」ロールにバインドされている「test」ユーザーがいます。
ありがとう