`

OCTO: Grails事务总结

阅读更多

OCTO 的英文Blog上最近发布了一 篇介绍Grails中事务的文章 ,非常好地对Grails中事务进行了总结。

<!--break-->

文章总结的要点摘录如下:

  • 重点要记住:Grails不会自动把每个请求(与HTTP请求相关的处理)包装到事务中,因此可能不会像你想象的那样安全。
  • 使用服务搭建公共业务逻辑并且 处理正确的事务行为。
  • 总是使用注入(injection)调用服务
  • 不要使用闭包定义服务方法
  • 要是想回滚事务,使用RuntimeException
  • 遵循Grails范式,将事务代码放到服务中去
  • 总是把你的工作单元封装到顶级服务中,即不要在Controller的Action里调用2个服务。
  • 信赖Hibernate Session,在Controller内封装简单逻辑,是没有问题的。前提是,不在 Controller里调用任何服务。
  • 不要在事务性的服务之外加载对象,然后将它作为参数提供给服务。
分享到:
评论

相关推荐

    藏经阁-OCTO:千亿规模下的服务治理挑战与实践.pdf

    藏经阁-OCTO:千亿规模下的服务治理挑战与实践 本资源摘要信息主要介绍了美团点评基础架构团队的服务治理挑战与实践,特别是在千亿规模下的服务治理挑战与实践。美团点评是中国O2O行业最大的公司,覆盖全国2800多个...

    Octo:二维物理关卡编辑器

    "Octo:二维物理关卡编辑器"是一个用于创建和设计2D物理基础游戏关卡的工具,主要基于JavaScript编程语言。在游戏开发领域,关卡编辑器是至关重要的,它允许开发者和设计师无需深入编程就能构建游戏环境,提供丰富的...

    octo:JavaScript中的模糊库。 :sparkles:

    Octo.js捆绑了大多数框架中通常用于模糊浏览器的核心功能和通用样板代码。 它旨在在我们的各个模糊器之间共享改进,并旨在以最小的努力降低这些核心功能的可维护性。 Octo的未来目标是成为一个稳定,经过良好测试...

    Octo:A Chip8 IDE

    八度 是虚拟机的高级汇编... 如果您已在Octo上,或上为或使用Octo构建了项目,并且希望将链接添加到此列表,请提交拉取请求! 命令行模式 Octo汇编器还可以通过前端用作命令行工具: $ ./octo usage: octo [--decom

    c-octo:AC重写Octo CHIP-8 IDE

    C-Octo套件包括octo-cli ,命令行编译器, octo-run ,最小运行时和调试器,可从命令行octo-de (自包含的“幻想控制台”式编程)执行环境,以及几个可重用的库。 为什么不让Octo在PocketCHIP上旋转,以在壁橱中...

    octo:Octo是命令行的小型高效文本编辑器

    Octo是一款专为命令行环境设计的轻量级、高效文本编辑器,它以其小巧、快速和便携性获得了用户的青睐。这款编辑器借鉴了Ed的语法,使得对文本的操作简洁而直观,非常适合那些喜欢在终端环境下工作的程序员和系统管理...

    pretty-octo::lipstick:适用于漂亮GitHub UX的Chrome扩展程序

    八达通 适用于漂亮GitHub UI / UX的Chrome扩展程序安装Chrome扩展程序&gt;特征使用者介面 :check_mark_button: 应用窄样式将narow样式应用于GitHub navbar(带有container-xl ) 前后 待续...( )基于表示支持给一个 :...

    Octo:一个纯 CSS 灯箱

    八爪鱼一个纯 CSS 灯箱Octo 是一个纯 CSS 灯箱,它利用了 CSS3 中的 ':target' 选择器。 该项目的核心是在不到 50 行 CSS 中完成,并且在定位、背景颜色等方面都完全可定制。 如果您有任何问题,可以在我的网站上或...

    hexo-theme-cxvh-octo:我自己的博客皮肤分享出来~~~

    然后将themes/octo/_config-example.yml复制到themes/octo/_config-example.yml themes/octo/_config.yml 。 更新时,请在_config-example检查您想移植到现有_config文件中的项目。给Octopress用户的注意事项从...

    octo:OpenStack Kilo Ubuntu 14.04流浪者环境

    OpenStack Kilo Ubuntu 14.04 Vagrant环境:基于openstack的公斤安装说明,位于 ... 要启动环境,您必须首先安装vagrant并添加vagrant-hostmanager插件。 安装后,您只需启动3个VM。 流浪汉安装说明: : ...

    octo:goagogaoogaaaagagagaagege

    标题中的"octo:goagogaoogaaaagagagaagege"似乎是一个组合词,可能是在尝试模拟章鱼(Octopus)发出的声音。这可能是某个项目或者编程库的名字,但没有明确的IT知识点直接关联。描述中的“章鱼...

    octo:一个可入侵的,脱机优先的Markdown编辑器,用于注释,代码段和写作,完全在浏览器中运行

    一个可入侵的,脱机优先的Markdown编辑器,用于注释,代码段和写作,完全在浏览器中运行。 特征 黑暗与光明的主题 默认为深色主题。浅色主题(如果需要)。 :smiling_face_with_sunglasses: 内联Markdown渲染和自动...

    谨慎OCTO计算机::锁

    标题中的“谨慎OCTO计算机::锁”可能是指一种特定的计算机系统或者技术,其中“OCTO”可能是项目代号或者系统名称的一部分,而“锁”则可能指的是该系统在多线程编程或并发控制中使用的一种同步机制。在计算机科学...

    octo4a:我很难将OctoPrint移植到android

    octo4a 您没有Raspberry Pi,但要远程控制3D打印机?将您的手机用作octoprint主机!使用Octo4a应用程序,您可以在几分钟内在您的Android手机上安装Octoprint,而无需任何特殊Linux知识。 下载 目前,.apk文件可在...

    OCTO-NS服务治理体系服务注册发现功能套件

    《OCTO-NS服务治理体系:美团的高效服务管理框架》 在当今的微服务架构中,服务注册与发现是核心组成部分,它确保了服务之间的通信顺畅无阻。美团的OCTO-NS(OCTO Network Service)就是这样一个专为服务治理设计的...

    expert-octo-engine:专家

    "expert-octo-engine:专家" 这个标题暗示我们可能正在讨论一个专门设计用于解决复杂问题或提供专业服务的软件工具或者框架。这个工具可能借鉴了“octo”(八足)的概念,通常在技术领域中,"octo"常常与多任务处理、...

    octo-cli:CLI工具,用于将任何数据库中的数据公开为无服务器Web服务

    Octo CLI octo-cli使数据可以作为无服务器Web服务从任何数据库获得,从而简化了构建数据驱动型应用程序的过程。 Knative和OpenFaaS是octo-cli中目前唯一受支持的无服务器框架。 Octo将创建一个端点,将数据公开为...

    front:OCTO EAD前端存储库

    Octo-Ead Octo-Ead是一个开源项目,旨在提供具有高质量课程的100%免费远程学习平台。 贡献 贡献是学习更多知识的绝妙方式! 除了改善平台之外,您的贡献还将有助于保持开源社区的积极性和奉献精神。 我们感谢所有...

    Node.js-octo-portal是美团OCTO服务治理体系的管理端

    **Node.js-octo-portal:美团OCTO服务治理体系的管理端** 在IT行业中,服务治理是一项关键的任务,它涉及到系统稳定、可扩展性和性能优化。美团的OCTO服务治理体系是为了解决这些问题而设计的一个综合解决方案,...

Global site tag (gtag.js) - Google Analytics