問題タブ [tomcat-jdbc]
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 jdbc 接続プール - 放棄されたトランザクションのロールバック
で tomcat-jdbc 接続プールを構成しますremoveAbandoned=true
。接続が放棄された場合、オプションは機能しますが、接続は単純に閉じられます。Oracle では、これは現在のトランザクションがコミットされていることを意味します (この質問を参照してください)。未完了のトランザクションはコミットされるべきではないため、これは良くありません。
接続が放棄された場合に現在のトランザクションが最初にロールバックされ、その後接続が閉じられるようにプールを構成する方法は?
試してみrollbackOnReturn=true
ましたが、プールは放棄された接続にそれを使用していないようです。
編集:使用しますdefaultAutoCommit=false
編集:これが起こった1つのケースは、統合テストのデバッグでした。そのようなコミットのためにトランザクションテーブルが切り捨てられました
mysql - NamingException: tomcat7-maven-plugin h2/mysql データベースでリソース インスタンスを作成できません
パッケージ化時にスタンドアロンの実行可能 jar を作成する Maven Web アプリケーション プロジェクトを作成しようとしています。そのために tomcat7-maven-plugin を使用しています。最初の hello world のようなアプリケーションは正常に動作しますが、データベースで動作させるのに苦労しています。これが私のpom.xmlがどのように見えるかです:
ソース/メイン/webapp/WEB-INF/web.xml:
src/main/resources/tomcat/context.xml
そして私のJavaコードで私がしようとしている:
または java:/comp/env/jdbc/H2DB for h2 データベース どちらの方法でも、Tomcat がサーブレットを起動しているときに同じ例外が発生します。
SEVERE: サーブレット /helloworld が load() 例外 javax.naming.NamingException をスローしました: javax.naming.spi.NamingManager.getObjectInstance( で org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:146) でリソース インスタンスを作成できません不明なソース) org.apache.naming.NamingContext.lookup(NamingContext.java:843) で org.apache.naming.NamingContext.lookup(NamingContext.java:154) で org.apache.naming.NamingContext.lookup(NamingContext. java:831) org.apache.naming.NamingContext.lookup(NamingContext.java:154) で org.apache.naming.NamingContext.lookup(NamingContext.java:831) ...
どんなアイデアにも感謝します。前もって感謝します。
tomcat - tomcat jdbc プール StatementCache インターセプターの使用中にエラーが発生しました
アプリサーバーとして「apache-tomcat-7.0.47」でTomcat jdbcプールを使用しています。StatementCache インターセプターを使用しない場合、すべて正常に動作します。しかし、context.xml で StatementCache インターセプターを宣言するとすぐにエラーが発生し始めます。以下は、私の context.xml のエントリです。
以下は私が得るエラートレースです:
他の誰かがこのエラーに直面しましたか? 最初のステートメントが実行されて閉じられるように思えます。このステートメントはキャッシュされます。次のデータベースは、クローズされたステートメントを取得します。私のアプリケーションでは、ibatis で春を使用しています。ステートメントを閉じないように、または閉じている場合はおそらくステートメントを開くために、アプリケーションで何かをする必要がありますか?
java - postgres 接続の application_name を設定するには?
Tomcat 接続プールを使用していますorg.apache.tomcat.jdbc.pool.DataSource
。データベースpg_stat_activity
に空の接続が表示されますapplication_name
。
Java アプリでそのアプリケーション名をどのように設定すれば、各接続がどこから来るのかを知ることができます (複数のアプリケーションが同じデータベースにアクセスするため)。
java - Tomcat JDBC プールを Hibernate 接続プールとして使用する
休止状態の上に構築されたスタンドアロン アプリケーションでは、Tomcat JDBC Connection Poolを使用するのが好きです。
私の推測では、hibernate.cfg.xml にいくつかの構成を追加する必要があります。
「Tomcat JDBC接続プール」を接続プールとして使用するように休止状態を構成する方法を教えてもらえますか。
java - jetty-maven-plugin と tomcat-jdbc 8.0.9+ の間のクラスパスの問題により ServiceConfigurationError が発生する
私は以下を使用してアプリに取り組んでいます:
jetty-maven-plugin:9.3.2.v20150730
tomcat-jdbc:8.0.8 (依存関係として tomcat-juli を持つ)
tomcat-jdbc jar を 8.0.9 以降の任意のバージョンにアップグレードしようとすると、次のエラーが発生します。
java.util.ServiceConfigurationError: org.apache.juli.logging.Log: プロバイダー org.eclipse.jetty.apache.jsp.JuliLog はサブタイプではありません
これら 2 つのバージョン間の変更ログを見ると、疑わしいものを見つけました。
「単純な ServiceLoader ベースの検出メカニズムを JULI LogFactory に追加して、JULI および JULI に依存する Tomcat コンポーネント (Jasper など) を Tomcat から独立して簡単に使用できるようにします。Greg Wilkins が提供するパッチ (markt)」
また、Apache Tomcat JDBC 接続プールに新しいシステム プロパティが導入されたこともわかりました。
org.apache.tomcat.jdbc.pool.onlyAttemptCurrentClassLoader
「JDBC ドライバー、インターセプター、バリデーターなどの動的クラスのクラスロードを制御します。デフォルト値である false に設定すると、プールは最初に現在のローダー (つまり、プール クラスをロードしたクラス ローダー) を使用してロードを試みます。スレッド コンテキスト ローダーを使用した読み込みに失敗します。Apache Tomcat 8.0.8 以前との下位互換性を維持し、現在のローダーのみを試行する場合は、この値を true に設定します。設定されていない場合、デフォルト値は false です。"
残念ながら、このプロパティを使用して jetty:run でプラグインを開始しても問題は解決しませんでした。
どんな助けでも大歓迎です!ありがとう!
スタック トレースと依存関係ツリー:
spring - Spring で分散トランザクションに DBCP 2 または Tomcat 接続プールを使用できますか? これらの接続プールは、JOTM または Atomikos と一緒に使用できますか?
最初は、複数のデータ ソースに対して異なるトランザクション マネージャーを使用していました。しかし、データ ソースの 1 つにトランザクション エラーが発生した場合、すべてのデータ ソースのロールバックを管理するのに問題がありました。Spring で単一のトランザクション マネージャーを使用して複数のデータ ソースを管理したいと考えています。そこで、JOTM または Atomikos を使用することにしました。これらのトランザクション マネージャーはどちらもXA 接続プール (org.enhydra.jdbc.pool.StandardXAPoolDataSource)を使用します。しかし、私のプロジェクトでは、DBCP 2(org.apache.commons.dbcp.BasicDataSource) または Tomcat Connection Pool(org.apache.tomcat.jdbc.pool.DataSource)のみを使用することが許可されていました。この接続プールのいずれかを JOTM または Atomikos で使用することは可能ですか? 構成例とともに、誰かがこれについて私を助けてください。以下は私の設定の詳細です、
<
また、これを達成するための他の可能な方法があれば助けてください。