Java Management Extensions (JMX) 動的プロキシーは、 MBean 要求をマルチプロセス・サーバー間で調整します。 このセクションでは、JMX 動的プロキシーに関連する主な用語について説明します。
以下の例では、単一プロセス・モデル用に開発され (変更前)、 マルチプロセス・モデル用に変更された (変更後) MBean 記述子を示します。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE MBean SYSTEM "MbeanDescriptor.dtd"> <MBean type="SampleStateMBean" version="6.0" description="Sample State MBean for the documentation example."> <attribute description="The name of the MBean." getMethod="getMBeanName" name="mbeanName" type="java.lang.String"/> <attribute description="The state of the MBean."name="state" getMethod="getState" setMethod="setState" type="java.lang.String"/> <operation description="Initialize the State MBean." impact="ACTION" name="initializeState" role="operation" targetObjectType="objectReference" type="void"> <signature> <parameter description="The name of the MBean." name="mbeanName" type="java.lang.String"/> <parameter description="The initial state of the MBean." name="mbeanName" type="java.lang.String"/> </signature> </operation> </MBean>後
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE MBean SYSTEM "MbeanDescriptor.dtd"> <MBean type="SampleStateMBean" version="6.0" platform="dynamicproxy" description="Sample State MBean for the documentation example."> <attribute description="The name of the MBean." getMethod="getMBeanName" name="mbeanName" type="java.lang.String"/> <attribute description="The state of the MBean."name="state" getMethod="getState" setMethod="setState" type="java.lang.String"/> proxyInvokeType="unicall" proxySetterInvokeType="multicall"/> <operation description="Initialize the State MBean." impact="ACTION" name="initializeState" role="operation" targetObjectType="objectReference" type="void" proxyInvokeType="multicall"> <signature> <parameter description="The name of the MBean." name="mbeanName" type="java.lang.String"/> <parameter description="The initial state of the MBean." name="mbeanName" type="java.lang.String"/> </signature> </operation> </MBean>プラットフォーム属性に dynamicproxy を指定して、 ユーザー MBean を 動的プロキシー・モードで実行してください。 MBean 記述子上にプラットフォーム属性が存在していない場合は、 WebSphere Application Server for z/OS 上にデプロイされたユーザー MBean が、 自動的に動的プロキシー・モードを使用します。
「変更後」例に示されているように、 属性 XML タグまたは操作 XML タグを更新して、 マルチプロセス環境でユニコール動作またはマルチコール動作を指定します。 proxyInvokeType オプションまたは proxySetterInvokeType オプションが存在していない場合は、 動作はデフォルトでユニコールとなります。 「変更後」例では、getMBeanName メソッドおよび getState メソッドは、 ユニコール動作で実行しています。 setState メソッドおよび initializeState メソッドは、 マルチコール動作で実行しています。
すべてのインバウンドおよびアウトバウンドの要求は、 制御プロセスを通して実行されます。 クライアント要求は、制御プロセスに到達します。 制御プロセスは、MVS ワークロード・マネージャー (WLM) からの支援を受けて、 作業をサーバント・プロセスにディスパッチします。
サーバント・プロセスの数は、WLM によって管理され、 要求に基づいて変動します。 要求は、インストール・システム固有のパフォーマンス目標と比較して測定され、 WLM ポリシーとして表されます。 個々のサーバント・プロセスはまったく同じであり、 必要なアプリケーション・サーバー・コンポーネントをホスティングして、 J2EE アプリケーション・プログラミング・モデルを使用可能にします。サーバント・プロセスは、通信、セキュリティー、トランザクション制御など、 多くのサービスに対する制御プロセスに依存します。
マルチプロセス・モデルは、 単一プロセス・モデルより多くの追加要求を Java Management Extension (JMX) インフラストラクチャーに課します。 マルチプロセス・サーバーに対する管理要求は、 多くの場合、アプリケーション・サーバーを含むプロセス間の調整を必要とします。 JMX インフラストラクチャーには、この調整を可能にする追加の機能が組み込まれています。