昨日の続き。ブートストラップUCLが登録された後
- jboss.system:type=ServerInfo
実体はorg.jboss.system.server.ServerInfo。OS、JDK関連のプロパティとメモリ情報を持っている。listThreadDump()でスレッド一覧が見れるがさほどの情報ではないので、スレッドダンプが見たいときはkill -3するだろう。
- jboss.system:service=ServiceController
org.jboss.system.ServiceController。JBossには「サービス」というものがある。MBeanにライフサイクルを追加したものと考えればいい。org.jboss.system.Serviceをimplementsしてればサービス。JBoss内ではライフサイクルメソッドのデフォルト実装を仕込んだorg.jboss.system.ServiceMBeanSupportを継承しているサービスが多いようだ。で、サービスをServiceControllerにインストールすれば、ServiceControllerが適宜ライフサイクル関連のオペレーション(create、start、stop、destory)を呼んでくれる。あと依存関係の解決もしてくれる(依存するサービスが上がるまで待ってくれるとか。
- jboss.system:service=MainDeployer
org.jboss.deployment.MainDeployer。デプロイの親玉。デプロイはまずMainDeployerのオペレーションdeploy()から開始される。サブデプロイヤとしてSARDeployerやらEJBDeployerやらを登録しておき、拡張子に応じてサブデプロイヤにデプロイを委譲する。デプロイされたモジュールの情報を取得するためのオペレーションがいろいろある。あとEnhancedSuffixOrderという属性があり、拡張子で優先順を決定できる。自分でデプロイヤを作ったときには注意かも
- jboss.system:service=JARDeployer
org.jboss.deployment.JARDeployer。ただのJAR用デプロイヤ。META-INFの下にxmlファイルがあれば、「ただのJAR」でないとみなす。…特に何もしない。
- jboss.system:service=ServiceDeployer
org.jboss.deployment.ServiceDeployer。サービス用デプロイヤ。拡張子がsar、deployer、service.xmlであればサービスとみなす。create時には、SAR用にUCLを作成し、続いてサービスをServiceControllerにインストールし、サービスのcreateを呼ぶ。