@Selector并通知

时间:2017-05-18 19:22:08

标签: grails groovy

我有一个使用react js的grails项目。下面是groovy文件

中一个函数开头的代码部分
@Selector('update.intrans.info')
    def updateIntransInfoForLot(String lotNumber) {
        log.info "updateIntransInfoForLot: $lotNumber"
        def lot = Lot.findByAlotNumber(lotNumber)
...................//some code here
lot.save(flush:true)

我试图在项目的其他地方找到这个updateIntransInfoForLot,但无法找到。所以我试图通过

进行搜索
  

update.intrans.info

我在下面的另一个groovy文件中找到了。

notify 'update.intrans.info', lot.alotNumber
result = [type: 'lot', function: 'releaseIntransLot', arguments: [mapFields(lot)]]

我可以知道这个@Selector是什么并通知了吗?它们如何链接在一起以及此代码中发生了什么?如果有人能给我一个简短的网站链接到适当的文档,我可以进一步阅读这将是有帮助的。

2 个答案:

答案 0 :(得分:0)

查看Grails文档中的async部分

答案 1 :(得分:0)

这是一个非常简单的例子:

通知:

def sendFromPrimaryAccount() {
    notify 'pl.stepwise.primary.mail', new MyEvent()
}

和源代码: https://github.com/rgorzkowski/grails-multiple-mail-senders/blob/master/grails-app/services/pl/stepwise/MailSenderService.groovy

选择器:

@Selector('pl.stepwise.primary.mail')
def handler(MyEvent event) {
    ....
}

和源代码: https://github.com/rgorzkowski/grails-multiple-mail-senders/blob/master/grails-app/services/pl/stepwise/EmailNotificationService.groovy