Grails 3.3 - 如何替换已弃用的服务人工制品?

时间:2018-02-01 09:43:30

标签: grails service deprecated grails-3.3

我即将把我的Grails 3.2网络应用程序升级到3.3版。

特别是,我创建了一个BaseService抽象类(位于/src/groovy),提供了几种辅助方法,而且我的Grails服务大部分都扩展为BaseService

import grails.artefact.Service

abstract class BaseService implements Service {
    ...
}

我注意到Grails 3.3 grails.artefact.Service及其超类grails.events.Events已被弃用。

我可以使用哪些代替Service来避免引用已弃用的类?

1 个答案:

答案 0 :(得分:1)

弃用是因为 New Events API Async Framework 。如果您阅读grails 3的文档,您可以找到:

  

为了支持多种不同的异步和被动   框架Grails 3.3已与Reactor 2.x和一个分离   摘要 EventBus 表示法。

     

EventBus 界面提供了基础和多重   实现包括GPars和RxJava。

     

一组可在服务类和常规Spring中使用的注释   可以利用bean来发布和使用事件:

     

发布商 - 一种转换方法,用于转换确保方法的方法   返回值作为事件发布

     

订阅者 - 转换方法以进行侦听的转换   一个事件。

因此,如果您的implements Service用于Events,那么您就可以了 使用Grails 3 asyncevents更新您的活动实施 插入。查看Async框架文档#events part。