aviatorscript icon indicating copy to clipboard operation
aviatorscript copied to clipboard

A high performance scripting language hosted on the JVM.

Results 121 aviatorscript issues
Sort by recently updated
recently updated
newest added

``` Caused by: java.lang.ExceptionInInitializerError: null at com.googlecode.aviator.AviatorEvaluator.getInstance(AviatorEvaluator.java:112) ~[na:na] at com.googlecode.aviator.AviatorEvaluator.(AviatorEvaluator.java:61) ~[na:na] at com.github.dudiao.cli.sia.ExtractExcelAutoConfiguration.cliAviator(ExtractExcelAutoConfiguration.java:23) ~[nboot-cli:na] at com.github.dudiao.cli.sia.ExtractExcelAutoConfiguration$$SpringCGLIB$$0.CGLIB$cliAviator$0() ~[nboot-cli:na] at com.github.dudiao.cli.sia.ExtractExcelAutoConfiguration$$SpringCGLIB$$2.invoke() ~[nboot-cli:na] at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:257) ~[nboot-cli:6.0.2] at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[na:na] at com.github.dudiao.cli.sia.ExtractExcelAutoConfiguration$$SpringCGLIB$$0.cliAviator() ~[nboot-cli:na] at...

我看到com.googlecode.aviator.AviatorEvaluatorInstance#compile(java.lang.String, java.lang.String, java.lang.String, boolean),这个方法在expressionLRUCache开启的时候,每次都会对expressionLRUCache做synchronized,来达到线程安全的目的。 但多线程场景下,LinkedHashMap_lru实现比其他cache实现性能慢上很多,想了解下当时是怎么考量的。同时我也看到了AviatorEvaluatorInstance对expressionLRUCache和expressionCache做了很多判断和区分逻辑。那有没有可能expressionCache定义成一个interface,然后允许集成方自己实现,然后注入到AviatorEvaluatorInstance中? 这个只是一个带问题性质的讨论,打扰作者了

环境:Java 8 ,avaitor版本:5.41 情况描述:我这边获取了AviatorEvaluatorInstance后,执行表达式“e1001+e1003”,方法直接在http接口中调用,能够正常解析出两个变量e1001和e1003,但是在消息队列中调用解析出来的变量名称是0,有时候关掉缓存又能用,但是第二天又不行了 ![b5fe59abd8ff21385aef18d163a3c19](https://github.com/killme2008/aviatorscript/assets/170398506/d79a6286-0ef3-4f9f-a1a4-75372985ccfe) ![ccefa64c902a00c8329387719b7dc74](https://github.com/killme2008/aviatorscript/assets/170398506/02eeb36d-5690-4c0b-bba6-3c36754d966a)

![4abe67af8a62636dc2733c9db69189a](https://github.com/killme2008/aviatorscript/assets/129827905/576b9c16-d808-4d4c-8708-2fcc2f147741) ![98a348ee4ae1ae86672a4fe2d7f7f6c](https://github.com/killme2008/aviatorscript/assets/129827905/aea334a6-9157-4c8c-b163-e9d36f6ce5cd) com.googlecode.aviator.exception.ExpressionSyntaxErrorException: Syntax error: insert ')' to complete statement at 29, lineNumber: 1, token : [type='Char',lexeme=')',index=29], while parsing expression: ` print((seq.get(o.oprninfos,0))^^^ ` at com.googlecode.aviator.AviatorEvaluatorInstance.innerCompile(AviatorEvaluatorInstance.java:1505) at com.googlecode.aviator.AviatorEvaluatorInstance.access$000(AviatorEvaluatorInstance.java:186) at com.googlecode.aviator.AviatorEvaluatorInstance$2.call(AviatorEvaluatorInstance.java:1478) at...

计算数据是2560 * 2560大小的float[] 目前测试最慢的地方需要120s左右计算完成,想问一下还可以在那些方面优化,我不需要很高的精度 公式: `(TD == 12 || TD == 13)?(6000.0*0.018*(1-W)*math.sum((5.5

![Uploading 捕获.PNG…]() 此段代码如果输出的结果是非 String 类型 的数据会报错,因为无法强转,建议改为 /** * Get string value from env. * * @param arg the var name * @param env * @return */ public static final String...

是否有计划支持java AOT

编译expression类时,版本4.2.5 aviatorscript会默认先加载为匿名类,但我们跟踪aviator的编译类代码发现,在加载匿名类时,永远失败,导致最终都使用传入loaderclass加载类,导致这些被加载的脚本类无法卸载

使用如下工具类 AviatorUtilsDemo将表达式编译后的字节流(bytes[])结果存入redis,然后取出反序列化报错 deserializeExpression方法报错: `2024-08-22 17:00:02.770 [http-nio-8083-exec-2] ERROR com.xxx.RestExceptionHandler:23 - org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.LinkageError: loader (instance of com/googlecode/aviator/parser/AviatorClassLoader): attempted duplicate class definition for name: "AviatorScript_1724315357698_58"` 序列化和反序列化代码 ```java...

举例:(a||b)&&c,a=true,b=false,d=false,未指定c,则c默认为false,得到最终结果为false