5

Używam appengine z Objectify, aby uzyskać dostęp do mojego źródła danych. Używam Springa dla mojej warstwy biznesowej. Aby grać z danymi, używam objectify-appengine-spring factory.Wiosenne transakcje z Objectify i Appengine

Chciałbym skorzystać z lokalnych transakcji opartych na adnotacjach. Czy wiesz o istniejącej implementacji, którą mogę podłączyć bezpośrednio jako komponent sprężynowy?

Naprawdę chciałbym uniknąć bolesnej implementacji mojego dostawcy transakcji z lokalnymi wątkami.

Odpowiedz

2

Sprawdź LushLife za ObjectifyTransactionManagerhere lub here.

Wiosna XML config potrzebne (można to here lub here znaleźć):

<!-- ObjectifyManager --> 
<bean id="objectifyManager" class="ex.objectify.spring.ObjectifyManager"> 
     <property name="basePackage" value="gso.model" /> 
</bean> 

<!-- ObjectifyFactoryBean --> 
<bean id="objectifyFactory" class="ex.objectify.spring.ObjectifyFactoryBean"> 
     <property name="manager" ref="objectifyManager" /> 
</bean> 

<!-- Custom TransactionManager implementation --> 
<bean id="transactionManager" class="ex.objectify.spring.ObjectifyTransactionManager"> 
     <property name="manager" ref="objectifyManager" /> 
</bean> 

<!-- Necesary to enable use of @Transactional in your services --> 
<tx:annotation-driven /> 

Nie zapomnij opisywania metod transakcyjnych lub klas z @Transactional.

Specjalne podziękowania dla autora tego project.

+0

Och! Interesujące;) Czy możesz podać przykład konfiguracji (xml) i wykorzystania menedżera transakcji? –

+0

Szukałem jak zintegrować spring & objectify i znalazłem ten TransactionManager (to nie jest mój!). Przeglądanie kodu źródłowego projektu, który widzisz, jest używany jak każdy inny, przy użyciu klasycznej metody wsparcia Spring '@ Transactional'. Zamierzam zaktualizować swoją odpowiedź tymi informacjami. – jelies

+0

Dzięki za odpowiedź: D –

0

Myślę, że rozwiązanie działa tylko dla Objectify3.

Każde rozwiązanie, w którym mogę używać atrybutów transakcji (OBOWIĄZKOWE, WYMAGANE itp.) W Spring AOP + transakcje Objectify4 - XML ​​lub Adnotacja?

Ponadto dokumentacja API dla Objectify4 nadal wspomina wykorzystanie ObjectifyFactory metoda beginTransaction() co chyba nie jest już dostępny. Tworzy zamieszanie dla początkujących. Byłoby bardziej przydatne, gdyby dokumenty zostały zaktualizowane, aby odzwierciedlały najnowsze zachowanie. Mam nadzieję, że niczego nie brakuje.