现在很多应用的业务逻辑会经常根据不同需求而加以修改,比如在线游戏需要更新任务和日常活动.
通常的方法就是在设计的时候能把这部分抽离出来,把这部分的逻辑放大脚本模块处理.
脚本动态更新的灵活性大家都知道的...
在此介绍一个简单的方式如何把脚本嵌入应用...
熟悉java jdk的朋友应该知道1.6以后
javax.script 对主流脚本语言都给予了支持.
这里主要用groovy为例来说明一下,groovy相信大家也应该熟知了,会java写groovy的很轻松,可以直接写java代码,在这里并没使用JSR 223 Scripting特性.
因为只用一种脚本的话,就直接上吧哈哈...
其实很简单,先说明下几个类的功能吧
ScriptManager//负责脚本的加载和调用管理
IScriptHandler//做为一个接口来桥接与其它业务的逻辑
加载脚本
GroovyScriptEngine engine = new GroovyScriptEngine(path);
Binding binding=new Binding();
engine.run(script_file, binding);
groovy,运行默认会调用main方法的
在MasterHandler脚本里面把具体的业务脚本注入到脚本容器里面
ScriptManager.registerHandler(new SayHelloworldHandler());
剩下的就是调用,和重新加载了...
在ScriptServer里面模拟了业务调用和热加载,具体应用的时候可以通过其他的方式触发脚本热加载...
比较简单的用例,望多多指教...
样例代码在附件里面!