Rhino脚本引擎技术介绍.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Rhino 脚本引擎技术介绍 Rhino 是一个开源的脚本引擎框架,可以运行类似javascript 语法的脚本,并可以调用java 的方法,并 可以嵌入Java 执行,脚本修改后不需要重启JVM 进程,就可以使用解析或编译方式执行,非常方便。由 于Rhino 脚本中可以写入任何表达式和javacript 程序,既可以进行条件规则的判断,也可以进行各类简单 或复杂的计算,因此是BPS 中以前参与者规则和连线规则的一个良好替代方案,在某银行新一代流程平台 中,我们使用了Rhino 脚本引擎来替代以前基于Antlr 词法分析器的规则引擎。 由于Rhino 的灵活和强大的功能,从JDK1.6 开始,JDK 将 Rhino 开源软件纳入JDK 内部API 中,形成 了以javax.script 为包名的脚本引擎API 。 使用Rhino 有如下好处: 1、实现简单,灵活,功能强大,对比以前BPS 规则用的Antlr 词法分析器,实现更加简单,不需要进行规 则文件编辑和代码生成(而且对不同规则需要生成多套代码,很不灵活),脚本引擎可以进行几乎任何运 算或Java 调用,能满足某银行新一代流程平台的要求。 2、即时生效,修改脚本后不用重启Java 进程就可以立即生效运行。 3、有编译和解析两种运行方式,编译方式在大量并发的调用情况下性能更好。 4 、轻量,JDK 内置,不需要引入其他第三方jar 。 下面主要介绍JDK 内置的Rhino 脚本引擎,以及其javax.script 的API 用法。 翻开JDK1.6 的javax.script 的API ,可以看到脚本API 中只包含6 个接口和6 个类(其中一个还是一个 异常),整个API 非常简单易用。 主要的类图如下 (类图做了一些省略,对一些不常用的类和接口省略了,并只显示了主要的方法): interface CompiledScript Bindings interface Compilable +get(Object key): Object use +eval(): Object compile +put(String name, Object value) +eval(Bindings): Object +compile(String script): CompiledScript interface RhinoScriptEngine SimpleBindings ScriptEngine +eval(String script): Object +eval(String script, Bindings n): Object +createBindings(): Bindings +getBindings(int scope): Bindings AbstractScriptEngine +setBindings(Bindings bindings, int scope) get ScriptEngineManager

文档评论(0)

moon8888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档