0

Notes クライアントで Java エージェントを使用しているときに問題が発生しました。Notes クライアント メモ フォームの特定のパスからファイルをアップロードする必要があります。Javaエージェントを使用しています。Alfresco の API を使用して、ファイルを Alfresco サーバーにアップロードします。スタンドアロンの Java アプリケーションでは問題なく動作します。Lotus Notes でも​​初めて正常に動作しています。しかし、2 回目の更新を行う場合、または JAR ファイルを 2 回目にインポートした Java エージェントを実行すると、次のエラーがスローされます。

Notes Error : JVM : Attempt to retrieve java agent attachments failed.

サーバーのjvm/lib/extパスに必要なjarファイルを追加しました。サーバーを再起動した後、最初は機能しますが、2 回目は失敗します。任意のソリューションをいただければ幸いです。

4

2 に答える 2

2

2 回目の実行での「Java エージェントの添付ファイルを取得しようとして失敗しました」というエラーは、ほぼ確実にメモリの枯渇が原因です。これは、最初の実行時にエージェントが大量のメモリを取得し、解放に失敗していることを意味します。

これは、コードが lotus.domino.* クラス内の多数のオブジェクトにアクセスしていて、それらの recycle() メソッドの呼び出しに失敗している場合に発生する可能性があります。(このような各オブジェクトは、JVM のガベージ コレクターによって解放されない非 JVM メモリを割り当てます。そのメモリを解放するには、recycle() メソッドを呼び出すことが不可欠です。通常、finally節はこれを行うのに適した場所です。)

Alfresco API については何も知りませんが、適切に使用しないとメモリ リークも発生する可能性があります。

于 2013-03-19T13:41:43.513 に答える
1

Java エージェントまたは Java スクリプト ライブラリに JAR ファイルが含まれている場合のメモリ リークに関する既知の問題です。大きいほど、サーバー/amgr がクラッシュするのが早くなります。Java エージェントの開始以来、修正されていません :-(.

一般的な回避策は、@Simon O'Doherty が述べたように、すべての JAR を jvm/lib/ext フォルダーに配置することです。

最新のアプローチは、XAgents またはサーブレットを使用することです。

于 2013-03-20T23:05:40.190 に答える