ランタイム変数に基づいて、さまざまなデータベースのデータにアクセスしようとしています。この目的のために、私は のカスタム実装を持っていますMongoOperations
。私の実装は、私のメソッドが以下のようになることをMongoTemplate
除いて同じです:getDb()
public DB getDb() {
return mongoDbFactory.getDb(PropertyManager.getCurrentTenant().getCode());
}
トランザクションでデータを読み取っているときに、以下のエラーが発生します。
[TransactionSynchronizationUtils] - TransactionSynchronization.beforeCompletion threw exception
java.lang.IllegalStateException: No value for key [Mongo: localhost/127.0.0.1:27017] bound to thread
この例外はログに記録されるだけなので、無害に見えます。
public static void triggerBeforeCompletion() {
for (TransactionSynchronization synchronization : TransactionSynchronizationManager.getSynchronizations()) {
try {
synchronization.beforeCompletion();
}
catch (Throwable tsex) {
logger.error("TransactionSynchronization.beforeCompletion threw exception", tsex);
}
}
}
しかし、なぜこれが起こっているのかを理解するのに苦労しています。手がかりはありますか?
バージョン:
- 春-データ-mongodb: 1.2.3.RELEASE
- 春-tx: 4.0.5.RELEASE
リリースで修正された同様の問題に対して発生したバグがありました。1.1 GA