我使用了Objectify的Appengine来访问我的数据源。我将Spring用于业务层。为了玩数据我使用objectify-appengine-spring factory。与Objectify和Appengine进行春季交易
我想使用基于注释的本地事务。你知道一个我可以直接作为spring bean插件的现有实现吗?
我真的想避免使用线程本地实现我自己的事务提供者的痛苦。
我使用了Objectify的Appengine来访问我的数据源。我将Spring用于业务层。为了玩数据我使用objectify-appengine-spring factory。与Objectify和Appengine进行春季交易
我想使用基于注释的本地事务。你知道一个我可以直接作为spring bean插件的现有实现吗?
我真的想避免使用线程本地实现我自己的事务提供者的痛苦。
Check LushLife's ObjectifyTransactionManager
here or here。
需要的Spring XML配置(你可以找到它here或here):
<!-- 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注释你的交易方法或类。
特别感谢此作者project。
我想解决方案只适用于Objectify3。
任何解决方案,我可以在Spring AOP + Objectify4事务中使用事务属性(强制性,必需等) - XML或注释?
此外,对于Objectify4 API文档仍然提到使用ObjectifyFactory方法的BeginTransaction的()我的猜测不再可用。它会给初学者造成困惑。如果文档被更新以反映最新的行为,会更有用。我希望我不会错过任何东西。
哦!有趣的;)你能发布一个配置(xml)和事务管理器的用法的例子吗? –
我在搜索如何整合spring&objectify,并发现这个TransactionManager(它不是我的!)。使用传统的Spring @ Transactional支持方法,浏览项目的源代码,您可以像使用其他代码一样使用它。我将用这些信息更新我的答案。 – jelies
感谢您的回答:D –