0
私はigniteDataStreamerを使用しており、クロージャからのトランザクションを使用できるかどうかを知りたいと思います。トランザクションからのIgniteトランザクションDataStream Receiverはサポートされていませんか?
残念ながら、CacheRefigiverのキャッシュ(receive()メソッド)で更新する同じレコードの異なるIgniteDataStreamerスレッドから実行すると、IgniteはCacheConfiguration atomicityModeがTRANSACTIONALであってもTransactionOptimisticExceptionをスローしません。
try (Transaction t = ignite.transactions().txStart(TransactionConcurrency.OPTIMISTIC, TransactionIsolation.SERIALIZABLE)) {
try {
cache.putAll(update);
t.commit();
catch (TransactionOptimisticException toe) {
LOG.error("TransactionOptimisticException Could not put all the profiles",toe);
}
}
私のアプリケーションがクライアントモードで実行されている場合、IgniteはもうreceiveメソッドでTransactionOptimisticExceptionをスローしません。理由を説明してください。 –
は、igniteインスタンスの代わりにignitetransactionsを送信していた理由があります。 –