问题标签 [jsr223]
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.
javascript - 使用 JSR223 断言写入文件
JSR223 Assertion
是否可以使用 javascript 作为语言将数据写入文件中?怎么做到呢?
java - 未调用 Jython JSR223 信号处理程序
我正在使用 jython 2.7 jsr223 脚本引擎。而且我喜欢在 jython 执行终止时进行清理。
终止:中断运行 jython 脚本引擎的线程。
清理:注册信号处理程序:signal.signal(signal.SIGTERM, cleanup)
在 jython 代码中,我看到,作为一个示例,睡眠会引发 KeyboardInterruot 异常。下面的代码:
上面的代码引发了一个新异常:PyException(Py.KeyboardInterrupt, "interrupted sleep")。
理论上可以捕获 KeyboardInterrupt 异常并执行信号处理程序。然而,KeyboardInterrupt 并非始终与所有命令一起抛出。jython 中的 subprocess.check_call 命令以不引发 KeyboardInterrupt 异常的方式实现,也不会在 jython 执行中断时触发任何 SIGINT 或 SIGTERM。因此,kill 行为可能会在当前执行的 python-java 等效项(jython 命令)的实现上发生变化。
有类似问题的人说,更改 jython 控制台将有助于触发 SIGINT。:如何在 Jython 中拦截键盘中断 (CTRL-C)?
所以我设置了python.console=org.python.core.PlainConsole。Jython 代码说:或者,您可以在此处设置 python.console,
但请注意,这也会影响嵌入 PythonInterpreter 或使用 Jython 作为 JSR-223 脚本引擎的应用程序中的控制台。
所以应该会通过jsr223影响脚本引擎的执行。但是即使将 python.console=org.python.core.PlainConsole 作为 JVM 中设置的属性,也不会触发 SIGINT 脚本处理程序。
因此,当 jython 执行运行子进程并被中断时,似乎没有办法进行清理。
尽管如此,我发现当我中断运行节点的 jvm 时,会执行 jython 执行中的信号处理程序。该线程表示 JVM 终止不转发 SIGTERM 或 SIGINT 信号。但是执行关闭钩子:当JVM终止时会发生什么?
调试关闭挂钩并没有显示它们在 jvm 终止时的执行情况。
那么 SIGINT 和 SIGTERM 处理程序如何以及为什么以这种方式执行?
下面是使用 jython 测试信号处理程序和 KeyboardInterrupt 异常的代码:
当 jsr223 jython 脚本引擎线程中断(执行终止)时,如何执行 python/jython SIGTERM 和 SIGINT 信号处理程序???
非常感谢你的帮助!
javascript - 使用 jsr223 向 jMeter 添加 javascript 函数
我正在尝试使用 JSR223 使 javascript 函数与 jMeter 测试计划一起使用。它用于解码字符串。我有以下两个需要在 jmeter 中实现的功能:
java - 万用表。JSR223,时髦的。不能产生超过 5 次点击/秒的负载
我在 JMeter 3.1 中使用 jsr223 采样器为 HTTP 请求数据生成密钥。问题是我的脚本使用加密算法,因此,当线程数量增加时,脚本持续时间也会增加(它与用户数量成正比增加)。所以我不能产生超过 5 次点击/秒。同时 CPU 利用率保持在较低水平(8 核和 32GB RAM)。你有什么想法如何增加命中/秒?
java - 调用函数的推荐方法(是否使用 CompiledScript?)
我正在编写一个库,它提供宏支持以在 JVM 上以各种非 Java 语言执行。想想 JavaScript、Ruby 等。
因此我想使用 JSR-223 Scripting API。
这个 API 有一个CompiledScript
类的概念,我认为这将是在加载时预编译脚本并在执行时重新使用它们的最佳方式。
ScriptEngine
检查是否是 instanceof是否是一个好习惯,如果是Compilable
,则使用一种CompiledScript
方法,否则只评估函数ScriptEngine
本身?
例如(简化):
在这种情况下,使用 有好处CompiledScript
还是可以忽略不计?
我的实际实现稍微高级一点,并且有一个单独的加载和调用模式来重用实际的CompiledScript
:
jmeter - 有没有办法在 jmeter 的结果树中测试 jsr223 断言(例如,我们可以在结果树中测试正则表达式)
目前我在 jmeter 中使用 jsr223 断言来进行 API 的功能测试。所以我需要在结果树中测试我对响应消息的断言,这样我们就不需要每次都运行调用。(例如,我们可以在结果树中测试正则表达式)。那么有什么方法可以针对响应消息测试 jsr223 断言。
json - Unable to use json parsed object in another call in jmeter?
I am using jsr223 assertion with groovy script ,I am saving the parsed response as variable
Now I want to use this Summary variable in another call, so that I can assert it
But I am getting this error
jmeter.threads.JMeterThread: Error while processing sampler 'Competitive_Landscape(Past_awardees)' : java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.String
selenium - 如何在 jmeter 中将其他软件包安装到 jython jar?
我通过将 jython.jar 放在 JMeter 安装的“lib”文件夹下,在 jmeter 中使用 jython。它运行成功。
但问题是我无法在其中安装额外的 python 包或模块。更具体地说,我想在jmeter里面的python中运行selenium,所以需要在jython中安装selenium模块。
我该怎么做?
kotlin - 在使用 gRPC 的应用程序中使用 kotlin-script-util(用于 JSR-223 支持)时 Guava 冲突
我有一个基于 Spring 的 Web 应用程序,它使用 gRPC 与我的中间层进行通信。我希望能够将 kotlin-script-util 用于 JSR-223 脚本引擎。由于 kotlin-script-util 依赖于 kotlin-compiler 依赖项(使用 Guava),因此我遇到了与 gRPC 依赖项的版本冲突。
我看到有一个带阴影的 kotlin-compiler-embeddable jar,但没有利用此依赖项的 kotlin-script-util。
我可以做些什么来使这些依赖项一起工作吗?
kotlin-script-util:1.1.1
gRPC:1.2.0
javascript - 用于生成 JavaScript 代码的 Java 库
我需要从 Java 程序内部生成 JavaScript (ECMAScript) 代码。为此,我正在寻找类似JavaPoet的东西,但生成 JavaScript 作为输出。
我不能使用这些将另一种语言翻译成 JavaScript 的转译器(例如 GWT 不是答案),也不能使用从语法树生成 JavaScript 的工具(只有当有一个库可以帮助构建该语法树时......)。
像已经提到的 JavaPoet 之类的东西就是答案,因为它在内存使用和代码大小方面都非常小。
生成的 JavaScript 代码的目标是 Java/JSR 223 (Nashorn),如果这相关的话。
指定要求:JavaPoet 使用此代码
创建此 Java 代码
(我从 JavaPoet 项目网站复制了示例。)
我希望有类似的东西来创建 JavaScript 代码。
据我目前所知,StringBuilder 实际上最接近这个要求。首先生成 Java 以将其转换为 JavaScript 应该可以,但对我来说看起来真的很奇怪——而且是全部,但不是真正的轻量级。与首先生成 Kotlin 或 Ceylon 代码然后将其转换为 JavaScript 相同。