groovy实现java动态编译_Groovy&Java动态编译执行

Groovy&Java动态编译执行

工作中,遇到部分业务经常动态变化,或者在不发布系统的前提下,对业务规则进行调整。那么可以将这部分业务逻辑改写成Groovy脚本来执行,那么就可以在业务运行过程中动态更改业务规则,达到快速响应。

Case1: Groovy动态编译执行

闲话少说,直接上代码:

static Compilable engine; //获取groovy编译类

static {

ScriptEngineManager manager = new ScriptEngineManager();

engine = (Compilable) manager.getEngineByName("groovy");

}

public static Object execute(String scriptText, Map, ?> context) {

CompiledScript script = engine.compile(scriptText); // 这个地方需要使用缓存,达到编译一次,多次执行。

if (script != null) {

ScriptContext scriptContext = new SimpleScriptContext();

Set> its = context.entrySet(); //上下文参数

for(Object o:its){

@SuppressWarnings("rawtypes")

Entry entry = (Entry)o;

scriptCont

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值