0
ServletA:GAE交易异常
- 在查询检索一组对象(2000年左右),然后运行一个权重函数选择一个对象,并对其进行更新。
- 全部是trasaction内,所以如果对象发生了变化 它会得到一个异常
ServletB:
- 每个对象是由机器人客户每15秒更新
因此,已在ServletA中检索到的记录集每2000/15 = 133毫秒正在更新。
它会不会中断更新对象吗?
ServletA:GAE交易异常
ServletB:
因此,已在ServletA中检索到的记录集每2000/15 = 133毫秒正在更新。
它会不会中断更新对象吗?
如果在从数据存储中检索到所选“最佳”房间之前,ServletA将只会抛出一个异常,然后才会保留它。
如果其他1999个实体中的任何实体都被修改了,那么根本没有关系,因为你根本没有修改它们。
这是个好消息。非常感谢杰森! – bach 2010-04-02 01:27:26
我可能会将对象拆分为两个对象,一个通过servletA更改,另一个通过servletB更改,并且仅在servletA中拥有事务...我希望GAE可以定义只能在一个VM上运行的应用程序 - 并非全部应用是全球性的! – bach 2010-04-01 12:31:33
您是否预料到这种情况会发生在您的真实应用程序中?也许你应该考虑DoS防护:http://code.google.com/appengine/docs/java/config/dos.html – 2010-04-01 12:50:06
来吧,每15秒从机器人客户端获取更新对许多应用程序来说都是微不足道的(财务例如) – bach 2010-04-01 12:59:00