问题标签 [janino]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Janino scriptella 使用数组 List
我正在尝试使用 scriptella 复制 oracle 的列,我想将它们插入到结合 scriptella 和 janino 的 ArrayList 中,以便稍后使用它们并进行比较,
我在这里做了什么
我遇到了以下问题
任何帮助将不胜感激
java - Janino - 监控脚本 CPU 时间和分配的字节
我正在尝试使用 Janino 构建一个脚本沙箱,以便我可以通过限制导入、CPU 时间和分配的字节来安全地执行用户函数。
在 Rhino(用于 javascript 代码)中,我有一个名为observeInstructionCount(Context ctx, int instructionCount)的函数, 它在每个X指令中调用,其中X可以由用户在构建环境时定义。
在这个函数中,我可以做这样的事情:
监控执行时间和分配的字节数。
即使用户创建了一个循环(例如 while(true) {} ),这个函数最终也会被调用,如果超过了之前定义的执行时间,它将抛出一个错误并且脚本执行将停止。
我正在尝试使用Janino复制此行为,但我没有类似的机制来监视脚本执行。如果用户调用阻塞函数,我没有办法停止脚本,只能在执行脚本的线程上突然调用 thread.stop(),这可能会出现问题。任何其他调用,如 thread.interrupt() (据我所知)都不会中断阻塞调用。
关于如何解决这个问题的任何想法?
java - PDI 中的 Janino 仿制药问题
我正在尝试在 PDI 中编写一些使用 Janino 进行编译的东西。这段代码
抛出和错误
我知道 Janino 不支持泛型,所以我查看了这个答案 https://stackoverflow.com/a/34218510/8142420
AFAIK,你不能在 Janino 中使用泛型,所以 Janino 无法确定
hashtable.get("ERROR_2001")
方法返回的对象的确切类,所以它假定返回的对象Object
没有keySet()
定义方法。尝试将结果hashtable.get("ERROR_2001")
转换为包含在哈希表集合中的值类:
Hashtable errorEntry = (Hashtable) hashtable.get("ERROR_2001"); Set set = errorEntry.keySet();
但这并不能解决我的问题。我究竟做错了什么?
java - Logback:有没有办法有条件地包含一个分组令牌?
我注意到 Logback 有评估者。我只想包含一个 MDC 字段,如果它存在的话。例如,假设我声明了这个评估器:
然后在模式中,如果该评估者为真,我只想包含该标签:
注意上面的代码不起作用
所以基本上,如果 UID_EVAL 为真,[UID:a string from mdc]
就会出现,但如果为假,则什么也不会出现。
有没有更简单的方法?谢谢!
apache-spark - Apache Spark Codegen Stage 超过 64 KB
当我对 30 多列进行特征工程以创建大约 200 多列时,我遇到了错误。它没有使工作失败,但错误显示。我想知道如何避免这种情况。
火花 - 2.3.1 Python - 3.6
集群配置 - 1 主 - 32 GB RAM,16 核 4 从站 - 16 GB RAM,8 核
输入数据 - 8 个分区的 parquet 文件,具有快速压缩。
我的 Spark 提交 ->
下面的堆栈跟踪 -
tomcat - 重新部署时使用 Janino + Logback + Tomcat 的 sun.reflect.MethodAccessorImpl 的 ClassNotFoundException
我有一个应用程序部署在 tomcat 8.5.32(最新的 java 8、1.8.0_181)下,使用最新的 logback 1.2.3、janino 3.0.8 和 slf4f 1.7.25。
我的 logback xml 有一个像这样的过滤器:
在我重新部署之前一切正常。然后我得到一个这样的异常:
我的理论是 juli->SLF4J->logback->janino 最终使用了最终停止的容器类加载器,但日志框架没有意识到这一点。
关于如何解决这个问题的任何想法?
pentaho - 在 pentaho 数据集成中使用 java 8 特性(较新的 janino 版本)
Pentaho Data Integration 8.0.x 使用 2010 年发布的 Janino 2.5.16 来编译用户定义的 Java 类步骤。pentaho 中有一个JIRA用于更新它以使用更新的 Janino 版本,这将在 pentaho v8.2.0 GA 中带来新的 java 8 相关功能。但没有关于何时发布的信息。
有没有其他方法可以使用更新的 janino 版本(janino-3.0.8.jar)和 UDJC 的退出 pentaho?我尝试在 lib 中复制更新的 jar 并添加 commons-compiler-3.0.8.jar 来满足依赖关系。现在,当我打开 Spoon 时,出现以下错误:
请告知如何实现这一点。我知道仅仅更换罐子可能还不够,但如果可以做其他事情就想要。
javacompiler - Janino 在 android 应用程序中创建一个 java 代码游乐场
我正在尝试创建一个 java 学习 android 应用程序。它应该有一个供用户使用的代码游乐场;可以运行简单的java代码。我将用户代码保存在 java 代码中并尝试运行它。我正在使用 JANINO ,但问题是我无法加载包括用户代码在内的外部类。这是我的代码;
这是 JANINOs 教程;阅读“源代码编译器”部分 http://janino-compiler.github.io/janino/
谢谢。
java - 无法从反序列化中恢复动态创建的类
我有一个字符串格式的动态创建的类:
我只想编译一次,并将其编译后的类对象保存在持久存储中(我用文件测试它,但最终将存储在数据库中)
我使用Janino 编译器
测试场景如下:
该testdemoClass
方法通过反射调用getResult
动态创建的对象的方法:
该测试的结果如下:
为什么classLoader找不到之前2条语句加载成功的类?
apache-spark - Spark 2.1 - 类 SpecificUnsafeProjection 的常量池已超过 64KB 的 JVM 限制
请原谅我的无知,因为我是 pyspark 和 Spark 的新手。我正在努力将 Spark 从 1.6.3 升级到 2.1,并且在使用 pyspark 运行我们的模型时遇到了问题。
我们在运行抛出错误的python脚本时所做的就是我们读取JSON并使用如下所示将其转换为DF
在阅读后,我们在 DF 上执行一些操作,在列上运行一些 UDF,然后最终想要写回 JSON,然后将其拾取并写入 Apache Phoenix 表。
我们在尝试对 DF 执行任何终端操作(如show()
ortake()
或任何此类)时遇到以下异常。
我在这里阅读(https://issues.apache.org/jira/browse/SPARK-18016?focusedCommentId=16348980&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-16348980)这个问题是 spark 无法处理超宽列,这个问题在 2.3 版中已修复。
我们要编写的 DF 中有大约 450 列。
我的问题是,由于我们目前无法升级到 Spark 2.3,有没有办法解决这个问题?可以拆分 2 个 DF 中的列,然后合并它们并写入或类似的东西?
在上述异常之后,它只是打印一些生成的代码并且作业失败。
任何信息都非常感谢。