java应用简单嵌入脚本模块

 

现在很多应用的业务逻辑会经常根据不同需求而加以修改,比如在线游戏需要更新任务和日常活动.

通常的方法就是在设计的时候能把这部分抽离出来,把这部分的逻辑放大脚本模块处理.

脚本动态更新的灵活性大家都知道的...

在此介绍一个简单的方式如何把脚本嵌入应用...

熟悉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里面模拟了业务调用和热加载,具体应用的时候可以通过其他的方式触发脚本热加载...

比较简单的用例,望多多指教... 

样例代码在附件里面!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章