gpt4 book ai didi

java - 我可以将 Guice 中的 @Transactional 与 Google App Engine 的数据存储一起使用吗?

转载 作者:行者123 更新时间:2023-11-29 09:03:58 25 4
gpt4 key购买 nike

我可以做这样的事情吗?即使我没有使用 ds.get(tx, key)ds.put(tx, key),它仍然是交易吗?

public class MyClass {

private final DatastoreService ds;

@Inject
public MyClass(DatastoreService ds) {
this.ds = ds;
}

@Transactional
public void plusOne() {
Key someKey;
Entity thing = ds.get(someKey);
int newValue = thing.getProperty("prop") + 1;
thing.setProperty("prop", newValue);
ds.put(thing);
}
}

最佳答案

我不习惯使用 Guice,但是像任何其他依赖注入(inject)框架一样,我想您必须在模块配置中声明某种 TransactionManager 吗?在这种情况下,它不存在,或者至少没有被谷歌宣传。也许您会在社区中找到您需要的东西,查看 GitHub……但我再次高度怀疑 Guice 是否支持开箱即用的低级数据存储。不过,您可能在 Guice 中有一些 JPA 支持?

或者您可以开发自己的事务管理器...我用 Spring 开发了自己的 @DatastoreTransactional 注释,但不幸的是,在生产运行时使用 Spring AOP 失败,请参阅: Using Spring AOP on App Engine causes StackOverflowError

关于java - 我可以将 Guice 中的 @Transactional 与 Google App Engine 的数据存储一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16000685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com