問題タブ [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.

0 投票する
2 に答える
1783 参照

javascript - JSR223 アサーションを使用してファイルに書き込む

JSR223 Assertion言語としてjavascriptを使用して、内部のファイルにデータを書き込むことは可能ですか? どうすればそれができますか?

0 投票する
0 に答える
122 参照

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 コマンドは、jython の実行が中断されたときに KeyboardInterrupt 例外をスローしたり、SIGINT または SIGTERM を起動したりしないように実装されています。そのため、現在実行中の python-java に相当するもの (jython コマンド) の実装では、kill 動作が変わる可能性があります。

同様の問題を抱えている人々は、jython コンソールを変更すると SIGINT がトリガーされるようになると言っています。: Jython でキーボード割り込み (CTRL-C) をインターセプトするにはどうすればよいですか?

そこで、python.console=org.python.core.PlainConsole を設定しました。Jython コードは次のように述べています。

ただし、これは、PythonInterpreter を埋め込んだり、Jython を JSR-223 スクリプト エンジンとして使用したりするアプリケーションのコンソールにも影響することに注意してください。

したがって、jsr223 を介したスクリプト エンジンの実行に影響するはずです。ただし、JVM で設定されたプロパティとして python.console=org.python.core.PlainConsole を使用しても、SIGINT スクリプト ハンドラーはトリガーされません。

そのため、サブプロセスを実行して中断されたときにjythonを実行すると、クリーンアップする方法がないようです。

それにもかかわらず、ノードを実行するjvmを中断すると、jython実行のシグナルハンドラが実行されることがわかりました。このスレッドは、JVM の終了が SIGTERM または SIGINT シグナルを転送しないことを示しています。ただし、シャットダウン フックを実行します。JVM が終了するとどうなりますか?

シャットダウン フックをデバッグしても、jvm 終了時の実行が明らかになりませんでした。

では、SIGINT および SIGTERM ハンドラがそのように実行される方法と理由は何ですか?

以下は、シグナル ハンドラーと jython を使用した KeyboardInterrupt 例外をテストするためのコードです。

jsr223 jython スクリプト エンジン スレッドが中断された (実行が終了した) ときに、python/jython SIGTERM および SIGINT シグナル ハンドラを実行するにはどうすればよいですか???

手伝ってくれてどうもありがとう!

0 投票する
2 に答える
4459 参照

jmeter - jmeter の結果ツリーで jsr223 アサーションをテストする方法はありますか (たとえば、結果ツリーで正規表現をテストできます)。

現在、APIの機能テストのためにjmeterでjsr223アサーションを使用しています。したがって、毎回呼び出しを実行する必要がないように、結果ツリーの応答メッセージでアサーションをテストする必要があります。(たとえば、結果ツリーで正規表現をテストできます)。応答メッセージに対して jsr223 アサーションをテストする方法はありますか。