デプロイの流れ

WARの例
URLDeploymentScannerがコピーされた新しいファイルを見つけると
MainDeployer.deploy(DeploymentInfo)
 ↓
MainDeployer.init(DeploymentInfo)
tmpディレクトリにファイルをコピーする
deployment.localClはそのtmpファイルを見るURLClassLoader
担当デプロイヤを決める(WARならorg.jboss.web.tomcat.tc5.Tomcat5)
→ deployer.init()
  Tomcat5#init()…AbstractWebContainer#init()
  tmpWARファイルを展開
  WebMetaDataをnewしDeploymentInfoにセット
  parseMetaData():web.xmljboss-web.xmlを読む(読むときのクラスローダは、展開したtmpWARを見るURLClassLoader)
  jboss-web.xml要素はLoaderRepositoryFactory#parseRepositoryConfig()で解析する
   loaderRepositoryClassを指定することで、自前のリポジトリを使える。デフォルトだとorg.jboss.mx.loading.HeirarchicalLoaderRepository3
  さっき出来たLoaderRepositoryConfigもDeploymentInfoにセット
DeploymentInfo#createClassLoaders()
 LoaderRepositoryFactory#createLoaderRepository()でリポジトリが初期化される。定義したリポジトリ名でMBeanServerに登録
 リポジトリのnewClassLoaderメソッドを呼んで、このDeploymentInfoのuclにセットする。自前のクラスローダを使いたければ、やはりリポジトリから作らなければいけないようだ。自前のクラスローダはRepositoryClassLoaderをextendsする必要がある。別のアプローチはあるのだろうか?
 ↓
MainDeployer.create(DeploymentInfo):Mbean登録とか
 ↓
MainDeployer.start(DeploymentInfo):MBeanのstart()