1

Javaで「R」を使用するためにJRI APIを使用しています。JRIコードを持つWebサービスを作成しました。この Web サービスを初めて使用すると、正常に動作しますが、その後の要求で JVM がクラッシュし、「ネイティブ コードの Java 仮想マシンの外部でクラッシュが発生しました」と表示されます。

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (0xc0000029), pid=9148, tid=9716
#
# JRE version: 6.0_26-b03
# Java VM: Java HotSpot(TM) Client VM (20.1-b02 mixed mode windows-x86 )
# Problematic frame:
# C  [ntdll.dll+0x8e1b9]
#
# An error report file with more information is saved as:
# C:\Users\ambarish\.netbeans\dev\config\GF3\domain1\hs_err_pid9148.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.

これは、R がスレッドをサポートしていないという事実に関係しているのでしょうか。マルチスレッド アプリケーション内で実行できる R のインスタンスは 1 つだけですか?

Rengine を使用して Java で R スクリプトを実行しています。Rengine オブジェクトを停止/破棄しようとしましたが、うまくいきませんでした。2 番目のリクエストの前に Rengine インスタンスがガベージ コレクションされるようにするにはどうすればよいですか。

この問題を解決する方法を教えてください。

4

1 に答える 1

0

JRI を使用して作成できる Rengine のインスタンスは 1 つだけです。そのため、代わりにスレッド化をサポート するRserveを使用してください。

于 2011-07-21T00:04:08.290 に答える