Groovy这门语言有哪些具体项目使用场景?

写Java程序原型用它写极其方便,但对于Java目前的主流市场企业级应用项目上有哪些成功案例?
关注者
265
被浏览
37,945

15 个回答

我们正在做的一个项目用到了,这是一个机器学习的平台,平台里面可以接入各种机器学习的算法,目前已经支持30来种算法。

每个算法有各种各样的参数,为了提高用户友好性,让用户使用起来更方便,用户在页面上“填入”,“选择”的参数值跟我们实际提交到集群执行的参数往往不一样,比如:

  • 用户选择一个算法的输入表table1,而实际上我们提交给后台集群的时候需要加上当前project的名字(假如是project1):project1.table1。
  • 又比如有些算法参数是不需要用户输入的,比如一个算法的输出表,具体的表名用户其实不关心,他只想我们把最后的结果告诉他,这时候我们需要给他自动生成输出表名的参数。

这样就需要一个“参数转换”的过程,这些参数转换逻辑虽然不复杂,但是它们有一个重要的特征:不可枚举。因此我们采用了Groovy脚本来描述这个转换算法。而且我们机器学习平台将来的目标是允许用户上传自己编写的算法,这个转换逻辑的可配置化就显得更必要了。
我们用来做规则引擎、流程引擎,可以做动态脚本环境,尤其是那些不需要发布又经常变更的场合