問題タブ [jdbc-pool]
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 - Tomcat 8 にアップグレードすると ClassNotFoundException が発生する
最近、NetBeans IDE を v7.3 から v8 にアップグレードしたところ、DB への接続中にサーバーの起動時にアプリケーションが突然例外をスローしました。これら 2 つのバージョンの IDE の唯一の違いは、後者が Tomcat 8 を使用していることです。
例外ログ:
META-INF/context.xml
ガイドしてください。
jdbc - JDBC 接続プール マネージャ
私たちは、PHP から派生した Java で Web アプリケーションを書き直そうとしています。確かではありませんが、接続プーリングに関して問題が発生する可能性があると思います。アプリケーション自体はマルチテナントであり、「別データベース」と「別スキーマ」を組み合わせたものです。
すべての Postgres データベース サーバー インスタンスに対して、複数のスキーマ (スキーマがテナントである場合) を保持する複数のデータベース (schemax_XXX という名前) が存在する可能性があります。サインアップ時に、次の 2 つのいずれかが発生する可能性があります。
- 最大番号の schema_XXX データベースに新しいテナント スキーマが作成されます。
- サインアップ プロセスは、データベースが完全に割り当てられていることを確認し、新しい schemas_XXX+1 データベースを作成します。この新しいデータベースで、テナント スキーマが作成されます。
すべてのテナントは、中央レジストリ (Postgres データベースでもあります) を介して認識されます。セッションが確立されると、レジストリはテナントのホスト、データベース、およびスキーマを解決し、その HTTP 要求に対してデータベース セッションが確立されます。
さて、私がここで見ていると思う問題は2つあります。
- JDBC 接続プールは、アプリケーションの開始時に定義されます。つまり、起動時にすべてのデータベース (ホスト + データベース) が認識されるということです。これは、サインアップ プロセスと競合します。
- 私がこれを書いているとき、約 1000 のデータベースを持つ約 20 のデータベース サーバーがあります (合計で約 100,000 (テナント) スキーマ)。これらの数を考えると、アプリケーションのインスタンスごとに 20*1000 のデータ ソースが必要になります。 m は、すべてのプールも、一度または別の時点で開始されていることを前提としています.プールがどれだけのリソースを割り当てるかはわかりませんが、20,000 プールではかなりの量になるはずです.
では、これに接続プールを使用できると想定することは可能でしょうか?
最初の問題については、JMX をサポートするプールを使用でき、新しい schemas_XXX データベースが作成されたときに新しいデータソースを作成すると思います。より大きな問題は、膨大な量のプールの問題です。このためには、接続が開いていないプールを終了できる (また、オンデマンドでプールを開始できる) ある種のプール マネージャーを使用する必要があると思います。これをサポートするものは見つかりませんでした。
どのようなオプションがありますか? それとも、PgBouncer などのプロセス外接続プールにフォールバックして、現在 PHP で処理しているのと同様に、リクエストごとにプレーンな JDBC 接続を確立する必要がありますか?
java - Vibur DBCP を Oracle DB に接続中にエラーが発生しました
Oracle 11g DB インスタンスに対して動作するようにVibur DBCPをセットアップしようとしていますが、Oracle 例外が発生し続けます。
これは URL = jdbc:oracle:thin:@//db.vonagenetworks.net/MY_SERVICE です。
この URL は、Tomcat 接続プールで使用すると機能します。
次のエラーが表示されます…。
mysql - jdbcプールを使用したgrails 2.2.4の待機状態のMySQLステートメントキャンセルタイマー
バージョン2.2.4のgrailsアプリでjdbcpool 7.0.47を使用しました。スレッドダンプを確認すると、多くの「MySQL Statement Cancellation Timer」が待機状態にあることがわかります。また、jdbc コネクタを tomcat/lib に移動しようとしましたが、mysql で日付の問題が発生し始めました。したがって、それらのスレッドを殺す他の方法
java - dbの接続を拒否した理由
私はウェブアプリケーションを持っています。そして、jdbc データベース プーリング システムがあります。
minIdleとinitialSizeの値が 50 の場合、次のエラーが発生します。
これは、多くの接続を取得するように XE oracle を構成する必要があるためです。
私はこのようなことをします:
しかし、これは私を助けませんでした。
また:
Windows 7 x64 を使用しています。これがOracle Express Editionです。