Java 技術には、アプリケーション、オブジェクト、およびデバイスの管理と監視のサポートが含まれます。JVM COBOL は、RunUnit の管理と監視を可能にする管理対象 Bean (MBean) を提供します。
RunUnit MBean は、次のいずれかの方法で有効にできます。
特定の RunUnit レベルに対して RunUnit MBean を有効にする RunUnit クラスの使用:
RunUnit 上のコンストラクターには、UseManagementBean と呼ばれる新しい値を含む RunUnitStartupOptions 列挙が含まれます。UseManagementBean オプションで RunUnitStartupOptions 列挙を使用する方法は以下のとおりです。
RunUnit myRUBean = new RunUnit("MyApplication", RunUnitStartupOptions.UseManagementBean) try { myRUBean.add(new PROGRAM1()); // Where PROGRAM1 is the COBOL program } finally { myRUBean.stopRun(); }
作成したすべての RunUnit の MBean を有効にするための cobconfig.properties テキスト ファイルの使用:
mbeans=true
Oracle の Java Mission Control や JConsole など、さまざまなプログラムで MBean を表示および使用できます。
JRE のバージョンによっては、MBean を使う前にアプリケーションの動的アタッチメントを有効にする必要があります。そのためには、Java コマンド ラインから以下のコマンドを実行します。
-Dcom.sun.management.jmxremote
MBean は、ライブになっている RunUnit の数を視覚的に表示できる以下の 2 つの属性を提供します。
LiveRunUnitCount とLogicalRunUnitCount の値が一致しない場合、以下の問題のいずれかが発生している可能性があります。
下図は、Java Mission Control ツールによるリークの表示例を示しています。
MBean 操作 dumpAllLongRunningRunUnitInfo を使用して、一定時間動作している RunUnit を識別できます。この MBean 操作は、ミリ秒単位の時間を指定する long 型パラメーターを使用します。
Oracle の Java Mission Control アプリケーションでは、[com.microfocus.runtimeservices] の [Operations] タブと [MBean Tree] セクションにあります。下図を参照してください。
MBean から返された情報によって、名前、ID、開始時間、GUID、RunUnit が作成された場所のスタック トレースを確認できます。
最も古い RunUnit の ID は必ず 1 であり、それは初期またはデフォルト RunUnit です。
同一の方法で RunUnit を作成および使用した場合、Micro Focus は finally 句で MBean をリリースすることを推奨します。以下に例を示します。
RunUnit myRUBean = new RunUnit("MyApplication", RunUnitStartupOptions.UseManagementBean) try { ... use the myRUBean object } finally { myRUBean.stopRun(); }
詳細については、次の URL を参照してください。