現在のスプリング管理の休止状態セッションをスレッドから削除/一時停止して、新しいセッションを使用できるようにし、元のセッションをスレッドに戻す方法はありますか? どちらも同じデータソースで作業しています。
問題をより詳細に説明します。独自の春の休止状態トランザクション管理を持つツールのプラグインを作成しようとしています。このプラグインでは、独自のスプリング トランザクション マネージャーで実行される独自のデータベース処理を実行したいと考えています。現在、データベース アクションを実行しようとすると、トランザクション マネージャーは、互換性のないトランザクション マネージャーが既に使用されていると不平を言い始めます。
org.springframework.transaction.IllegalTransactionStateException: Pre-bound JDBC Connection found! HibernateTransactionManager does not support running within DataSourceTransactionManager if told to manage the DataSource itself. It is recommended to use a single HibernateTransactionManager for all transactions on a single DataSource, no matter whether Hibernate or JDBC access.
トリックを行うように思われる回避策は、別のスレッドで独自のコードを実行し、それが完了するのを待ってから残りのコードを続行することです。
少しばかげている/やり過ぎのように思えるより良い方法はありますか?現在の休止状態セッションを一時停止してから、新しいセッションを開いて、元のセッションを復元する何らかの方法。