按客户需求,昨天我们的程序从dropbox上获取内容,dropbox的目录遍历耗时长,从日志看有的账户需要30多秒。
如是前一次请求没有结束,后一次请求又来了,两次请求同时操作一条记录时,出现如下错误:
[ERROR] api Exception: Object of class [com.friendmedia.commercial.Screen] with identifier [55]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.friendmedia.commercial.Screen#55]
通过寻找资料得知,这是hiberate自己做的优化,默认给记录加了乐观锁,写入时发现数据库中version的版本和缓存的不一致时,会抛出以上异常。
可以通过如下办法解决:
Screen screen = Screen.findByMac('00-0d-a8-80-21-ee', [lock: true]); screen.program = (program as JSON).toString(); screen.save(flush: true);
这里给记录加上了一个悲观锁,在操作记录时不允许别人读,update操作执行完后,锁将释放。更多详情:
http://grails.org/doc/2.0.x/guide/single.html#locking
相关推荐
Grails 中文 参考手册
grails中文参考手册 学习资料 groovy
grails 中文第二版
Grails Grails Grails Grails Grails
Grails1.1中文文档
现在主流的Java Web框架也是异常复杂,而且没有很好的遵循 Don't Repeat Yourself (DRY) 法则。 因此我们要以一种新的思维方式来重新思考Web开发,Rails、Django和TurboGears这样的动态框架给我们铺平了道路。...
grails 中文 API grails 中文 API
Grails 最新的 v1.1版的中文文档,chm格式,Grails是一套快速开发Web应用的开源框架,基于Groovy编程语言,并构建于Spring、Hibernate和其它标准Java框架之上,能为大家带来超高效率的一站式框架。
grails 中文文档+grails-fckeditor-0.9.5.zip插件
grails中的上传,下载,需要的请下载
比较难找的grails的资料,我也是找了很久才找到的。需要grails相关的拿走
Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南Grails权威指南
grails 中文手册,grails应该不用说明是啥东西了吧,流行的脚本语言groovy应用框架。
比较详细的grails中文文档,有所有命令行解释,还有grails的一个完整的学习过程的资料
Grails 中文参考手册 Grails 中文参考手册
Grails 是一个注重成效的开源 Web 应用框架。它使用了大多数 Java 开发者已经正在使用 的最佳技术——最著名的当属 Spring 和 Hibernate——但是,Grails 并非只是它们的简单堆 砌。 从输入 grails create-app 的那...
Grails入门指南中文pdf -- 针对grails1.0.4更新,附加idea8 开发grails的流程