我正在使用appengine和Objectify来访问我的数据源。我使用Spring作为业务层。为了处理数据,我使用objectify-appengine-spring工厂。
我想使用基于注释的本地事务。您知道是否存在现有的实现,可以直接作为Spring bean插入吗?
我真的很想避免实现自己的事务提供程序并使用线程局部变量。
我想使用基于注释的本地事务。您知道是否存在现有的实现,可以直接作为Spring bean插入吗?
我真的很想避免实现自己的事务提供程序并使用线程局部变量。
ObjectifyTransactionManager
,您可以在此处查看或者这里。<!-- 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 />
不要忘记使用@Transactional为您的事务方法或类作注解。
特别感谢这个项目的作者。
我猜这个解决方案只适用于Objectify3。
有没有任何解决方案可以在Spring AOP + Objectify4事务中使用事务属性(MANDATORY,REQUIRED等)- XML或注释?
此外,Objectify4的API文档仍然提到使用ObjectifyFactory方法beginTransaction(),我猜它已经不再可用了。这会让初学者感到困惑。如果文档更新以反映最新行为,将更有用。我希望我没有漏掉什么。
@Transactional
支持方法。我将用这些信息更新我的答案。 - jelies