起動プロセスを復習

月日の流れとは速いもので、初めてJBossの起動プロセスを読んでから既に2年弱も経過してしまいました。
http://d.hatena.ne.jp/mir/20041020/p1

ということでちょと復習。

  1. run.shを実行。
  2. org.jboss.Main.main()が呼ばれる。
  3. org.jboss.system.server.ServerImpl.start()が呼ばれる。
  4. javax.management.MBeanServer実装が起動される。
  5. org.jboss.deployment.MainDeployerが初期化、MBeanServerへ登録される。
  6. shutdownHookを設置。これで[ctrl+c]などによるシグナルに反応できるようになる。
  7. org.jboss.deployment.JARDeployerが初期化、MBeanServerへ登録される。
  8. org.jboss.deployment.SARDeployerが初期化、MBeanServerへ登録される。
  9. このタイミングで"INFO [Server] Core system initialized"のログがコンソールへ出力される。
  10. conf/jboss-service.xmlがデプロイされる。
    • URLDeployScannerが稼動開始。
    • 以下、URLDeployScannerがdeployディレクトリにある*-service.xmlと*.sar等をスキャンする。
    • 発見されたリソースはMainDeployerに一度渡されつつ、それぞれ適切なSubDeployerへ受け渡されて次々とデプロイしていく。
    • *.rarとか*-ds.xmlとかはこの過程でまずSubDeployer自体が*-service.xml経由でデプロイされ、それから対象リソースもデプロイされていく。
  11. 最後に"INFO [Server] JBoss (MX MicroKernel) [hogehoge] Started in 24s:800ms"みたいなログを出力して起動完了。