0
我正在使用igniteDataStreamer,並想知道是否有可能使用來自閉包的事務。Ignite Transactional從DataStream Receiver不受支持?
不幸的是,即使CacheConfiguration atomicityMode是TRANSACTIONAL,Ignite也不會拋出任何TransactionOptimisticException,但從不同的IgniteDataStreamer線程運行同一記錄以更新緩存(StreamReceiver中的receive()方法)時,Ignite不會引發任何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不再在接收方法中拋出TransactionOptimisticException。你能解釋一下爲什麼? –
得到了我發送ignitetransactions而不是點燃實例本身的原因。 –