search
Giriş
Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın Türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
509 gösterim
Server side uygulamama yapılmış bir web servis isteği sırasında herhangi bir durum için hata alınması durumunda(RuntimeException) bir document üzerinde yaptığım crud operasyonları için rollback yapamıyorum. Esasen burada yapılmak istenen @Transactional anotasyonunun fonksiyonelitesini sağlayabilmek. @Transactional RDBMS(relational database management system) için geçerli fakat ben relational olmayan bir yapı (mongodb) için de transaction bütünlüğü kurmak istiyorum. Böyle bir yapı spring-data içerisinde mevcut mu ? Değilse mevcut bir yapı bulunuyor mu ? Bulunmuyorsa nasıl bir yol izlemem gerekiyor  (manuel olarak)?

Teşekkürler.
Java kategorisinde 108 puan
yeniden etikenlendirildi

1 cevap

0 oy
Bildiğim kadarıyla built-in ve native olarak mongo transaction desteklemiyor.

Onun yerine plug-in olarak mongo'ya birşeyler ekleyebiliyorsunuz. Zamanında grafiklerini görmüştüm. Biraz performans sorunu açıyordu. Bu yüksek erişim sayılarında tabiki. Onun haricinde hiçbirşey bulamazsan kendi transaction handling mekanizmanı geliştirmen gerekebilir. Bu işlem için;

transaction scope belirlemen lazım. Yani ne zaman başlayacak ne zaman bitecek. Default olarak spring'in verdiği scope'lardan biriyle bağdaştırabilirsin. Ya da kendine bir myTransactionBegin - end metodları yazabilirsin. Bunun haricinde rollback to save point istiyor musun? İstiyorsan biraz daha detaylandırman gerekir.

Basit bir hata durumunda eskiye dön şeklinde kod bloğu istiyorsan; işlemleri yapmadan önce document bilgini myTransactions diye bir collection içine atabilir, hata alırsan oradan geri getirebilirsin. Yanlış hatırlamıyorsam mongo'da geçici kayıtlarda oluşturabiliyordun. Index bazlı idi sanıyorum. O şekilde de bir index/zaman verirsin, daha sonradan kendi kendini de temizlemiş olur. Ayrıca onun için uğraşmazsın.
6.2k puan

İlgili sorular

0 oy
1 cevap 780 gösterim
780 gösterim
Herkese merhaba, Spring Data Mongo kullanılan bir projede MongoTemplate ile MongoRepository interface i arasındaki farklar nelerdir ? Şimdiden teşekkürler,
13 Mayıs 2017 Veri Tabanı kategorisinde akotako 176 puan sordu
0 oy
1 cevap 182 gösterim
182 gösterim
Spring data kullanırken elimdeki stored procedure nasıl çağırabilirim?
11 Mayıs 2020 Java kategorisinde kenan 6.2k puan sordu
0 oy
1 cevap 1.7K gösterim
1.7K gösterim
Selam herkese, Spring-Data Jpa içinde JpaRepository PagingAndSortingRepository ve CrudRepository implementasyonlarının farkları nelerdir ? Hangisini neye göre tercih etmeliyiz ? Teşekkürler
26 Temmuz 2017 Java kategorisinde akotako 176 puan sordu
0 oy
1 cevap 535 gösterim
535 gösterim
git reset --hard HEAD~1 komutu uyguladım. bunu geri almak mümkün müdür?
28 Temmuz 2017 Genel Kavramlar kategorisinde tolgacelik.art 2.0k puan sordu
0 oy
1 cevap 259 gösterim
259 gösterim
Spring Boot kullanırken VueJs uygulamamdan bir http PUT istek yolladığımda CORS hatası alıyorum. Nasıl çözebilirim?
2 Şubat 2021 Java kategorisinde kenan 6.2k puan sordu