您的位置:首页 > 编程语言 > Java开发

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

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

本次实例主要是利用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());
}
}
}

}
结果显示:
100
100
输入参数是:100,100
运算结果:300
  如果功能上需要更改公式的计算方式,只需要更改demo.js文件即可,并不需要停掉服务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java