简单的玩了下BeanShell

简单的玩了下BeanShell

  为了实现工作流中对脚本的支持,简单的玩了一下 BeanShell,这个小小的嵌入式 Java 代码解释器可以将  Java 语言像动态脚本一样执行,几行命令,它就能把一段 Java 代码给玩转。

  工作流中有个这样的简单案例,当一笔单子金额大于 50万时,应该将任务分配给 Senior Agent 处理,否则交给 Junior Agent 处理,我们用 BeanShell 简单模拟这段脚本。

    public static void main(String[] args) throws Exception {
        Interpreter i = new Interpreter();
        i.set(”price”, 1000000);
        i.set(”user”, “”);
        i.eval(”if(price > 500000)\n” +
                “user = \”SeniorAgent\”;\n” +
                “else \n” +
                “user = \”JuniorAgent\”;”);
        System.out.println(i.get(”user”));
    } 

  运行结果是打印出了:SeniorAgent

  可以看出,BeanShell 用非常动态化的方式,完成了我们一个简单的案例的处理,这里,我们只需要将需要解析的 Java 语言的脚本交给 BeanShell 的 Interceptor,并把脚本中用到的参数值传入,就可以了,最后,我们把运算结果赋给一个变量,然后获取变量结果,就可以了。

  看到 Developer Works 网站上有一篇 BeanShell 实现公式管理的文章:http://www.ibm.com/developerworks/cn/java/l-formula/index.html,可以参考一下。

From:
http://www.steadyxp.com/archives/851.html

你可能感兴趣的:(简单的玩了下BeanShell)