91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在Java中如何使用groovy語言作為動態規則表達式

發布時間:2021-12-04 14:26:30 來源:億速云 閱讀:601 作者:小新 欄目:編程語言

小編給大家分享一下在Java中如何使用groovy語言作為動態規則表達式,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

由于在工作流設計中需要為條件分支設定條件表達式,所以需要可以動態執行的語言腳本作為工作流的規則引擎.工作流條件分支純粹使用sql腳本肯定是不行的,經過試驗,groovy的腳本可以返回為java接受的變量.在具體的工作流實現中,我們既可以把groovy的腳本單獨存放在文本文件,也可以將腳本直接存放在數據庫中,在使用的時候再取出來,當然,可可以放在xml文件中.

以下是java調用groovy腳本的實例:

package org.openjweb.core.groovy.test;   import groovy.lang.GroovyClassLoader;  import java.io.File;   public class InvokeGroovy {   public static void main(String[] args) {    ClassLoader cl = new InvokeGroovy().getClass().getClassLoader();    GroovyClassLoader groovyCl = new GroovyClassLoader(cl);    try   {     //從文件中讀取     //Class groovyClass = groovyCl.parseClass(new File("D:/project/openjweb/src/java/org/openjweb/groovy/Foo.groovy"));     //直接使用Groovy字符串,也可以獲得正確結果     //Class groovyClass = groovyCl.parseClass("package org.openjweb.groovy; \r\n import org.openjweb.core.groovy.test.IFoo;\r\n class Foo implements IFoo {public Object run(Object foo) {return 23}}");     Class groovyClass = groovyCl.parseClass("package org.openjweb.groovy; \r\n import org.openjweb.core.groovy.test.IFoo;\r\n class Foo implements IFoo {public Object run(Object foo) {return 2+2>1}}");//這個返回true           IFoo foo = (IFoo) groovyClass.newInstance();      System.out.println(foo.run(new Integer(2)));    } catch (Exception e) {     e.printStackTrace();    }   }  }

下面是Foo.groovy的文本:

package org.openjweb.groovy;  import org.openjweb.core.groovy.test.IFoo;  class Foo implements IFoo  {      public Object run(Object foo)      {                return 3+2     }  }

從上面的代碼看出,可以直接執行字符串的groovy腳本,運行后返回運算結果,例如2+2>1會返回true.

使用Groovy或 Jruby動態語言腳本作為規則引擎解決方案將會越來越普及.

以上是“在Java中如何使用groovy語言作為動態規則表達式”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉林市| 亳州市| 崇义县| 芒康县| 班戈县| 洛扎县| 临高县| 陆川县| 焦作市| 枣强县| 元谋县| 望奎县| 六枝特区| 台中县| 昌邑市| 朔州市| 茂名市| 吴忠市| 漳浦县| 慈利县| 乡宁县| 金寨县| 延寿县| 阆中市| 江津市| 孟村| 哈密市| 谢通门县| 芮城县| 怀远县| 方正县| 达日县| 普格县| 灌阳县| 扬州市| 临夏县| 获嘉县| 凌海市| 犍为县| 靖宇县| 兴业县|