愚钝的故事

Jet Geng的工作和生活

Articles in the Grails category

Grails 中服务懒加载

现象 前两天在Grails中使用guava的EventBus做消息分发时发现我得一个Subscrib死活没有被调用。很时费解! 我代码的结构如下: class HandlerAServices { def eventBus @PostConstruct def init(){ eventBus.register(this) } @Subscribe def someEventHandler(SomeEvent event){ } } class HandlerBServices { def ...

Grails代码阅读

启动 Grails启动相关的内容是在 grails-bootstrap 中体现的。 所有命令行的启动都是通过GrailsScriptRunner来完成。本质上找到对应的脚本,然后去执行。executeCommand来执行脚本。

Groovy小技巧

会持续收集一些认为不错的Groovy小技巧。防止被遗忘!

Grails 技巧汇集

Service 相关 配置相关 获取当前环境 import import grails.util.Environment def currentEnvName = Environment.current // currentEnvName 有可能是: "production" 线上环境 // 'beta' beta环境 // 'dev' 读取配置信息 在Config.groovy文件中 my.property = 'some value' 读取配置的任何地方: def ...

使用Redis让Shiro实现集群

在使用shiro是一个很不错的权限验证框架。我们要在一个多机同时活的结构中使用他来做权限管理。这里就牵涉到一个认证Session共享的问题。我们决定使用redis作为这个Session存储的介质。 所以在github上发现了https://github.com/alexxiyang/shiro-redis 这个项目。这个项目基本上解决了我的问题。 不过在使用的过程中也遇到了一下问题。下面一一说明。 配置中的坑 ...

在Grails使用Sql获取数据

前因 Grails默认情况使用Hibernate作为数据存取的框架。不过Hibernate的缺点是众所周知的。所以我们在一些复杂的场合需要通过 groovy.sql.Sql 直接使用sql来获取数据。这样就会存在如下的问题: 如何使用Grails配置的数据库连接? 如何执行sql,进行数据库相关操作? 如何将查询的数据转换成Domain Class? 下面就从上面这3个问题来说明如何在grails环境中直接使用sql来对数据库进行操作。 连接数据库 ...

Grails从2.2升级到2.3.3遇到的问题

Debug 升级到2.3 以后我就找不到grails-debug 这个命令了。后进过查询发现原来是被 grails -debug 这个参数替代了。是要了这个参数以后又遇到一个问题。就是需要通过Remote Debug 的方式连接进去才可以。但是不管咋地都不在断点处停下来。真的让人抓狂。 最后通过这个一个老外的一段话给解决了 In Intellij go to "Run / Edit Configurations", click + then "Remote" and name it whatever ...