利用脚本语言编写易变的业务逻辑

来源:互联网 发布:淘宝宝贝有浏览量却 编辑:程序博客网 时间:2024/06/03 17:39

           在开发的过程中,我们常常遇到一些需要更新代码,但是不能重启服务器的需求。这种自动更新的方式,一般可以使用脚本来解决。

本次实例主要是利用js脚本语言实践。

首先编写js代码:

function test(var1,var2){return var1+var2+params;}

package local;import java.io.FileReader;import java.util.Scanner;import javax.script.Bindings;import javax.script.Invocable;import javax.script.ScriptContext;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;public class TestJavaScript {public static void main(String[] args) throws Exception {//创建一个js执行引擎ScriptEngine engine = new ScriptEngineManager().getEngineByName("javascript");Bindings bind = engine.createBindings();//建立上下文bind.put("params", 100);engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);Scanner scanner = new Scanner(System.in);while(scanner.hasNextInt()){int first = scanner.nextInt();int sec = scanner.nextInt();System.out.println("输入参数是:"+first +","+sec);engine.eval(new FileReader("D://demo.js"));if(engine instanceof Invocable){Invocable in = (Invocable)engine;Double reDouble = (Double) in.invokeFunction("test", first,sec);System.out.println("运算结果:"+reDouble.intValue());}}}}
结果显示:100100输入参数是:100,100运算结果:300
  如果功能上需要更改公式的计算方式,只需要更改demo.js文件即可,并不需要停掉服务。



0 0
原创粉丝点击