nekop's blog

OpenShift / JBoss / WildFly / Infinispanの中の人 http://twitter.com/nekop

JJBugでJBoss AS7の発表をしました

Japan JBoss User Group - JBoss AS7 夏祭りが無事終わりました。また同日Java 7がリリースされましたが、JBoss AS7はJava 7でも動作します。

スライドはslideshareに置きました。前回の岡山の発表からドメイン管理の部分を追加しています。

http://www.slideshare.net/nekop/jboss-as7-rev2

あとあと考えたらドメイン機能に関してデモとかやればよかったですね。Amazon EC2上のドメインコントローラから僕のマシン上のJBoss AS7を起動する、とか。

会場から出た質問をまとめておきます。

  • AS7さっき1.2秒で起動してたけどなんで古いリリースと比べてそんな速くできたの?なんでそんなメモリ少なくて済むの?
    • 設計時点で可能な限り全てを並列に行い、メモリ利用量も可能な限り抑える、という方針が決められそれに沿って実装された、ということが大きい要因です。旧来のスタートアップ処理はそれほどパフォーマンスを気にかけておらず、mainスレッドがほぼ全サービスを順番に起動していました。また、AS7では並列処理に加え、一部のユーザしか必要としないサービス群は遅延ロードされ、起動時には初期化されないようになっており、高速スタートアップと低メモリを実現しています。
  • 以前のJBoss ASの知識が通用しない?
    • はい、最初は多少戸惑うと思います。設定ファイルのありかや設定方法などASのベースの部分は確かに変わっていますが、サーブレットコンテナ、トランザクションマネージャ、データソース設定など、それぞれのサブシステムの設定項目はそれほど大きくは変わっていないので、全然違う、というわけでもありません。
  • 前バージョンまではJMX管理が便利だったけど、AS7では?
    • JMX管理に変わる新しい管理APIを導入したので、7.0.0.Finalでは以前のようなJMX管理APIは用意されていません。ただし、新しい管理APIで以前のJMX管理APIで提供されていたようなものはほぼ提供されていますし、新しい管理APIJMX経由でアクセスできるブリッジが今後のリリースで提供される予定です。
  • 作りたてってことはパフォーマンスチューニングがまだで前のリリースより遅かったりしない?
    • ASのコアは作りたての新しいものですが、実際に各サービスを処理するサブシステム群に利用されているソフトウェアの種類は以前と大体一緒であり、それらは成熟しているものばかりです。また、これらは以前のものより新しいバージョンが導入されているので速くなっているということはあっても、逆に遅くなってしまうということはまず無いでしょう。公開できるようなベンチマーク結果はまだないのですが恐らくだいぶ速くなっていると思います。
  • 作りたてってことはバグがまだまだ多い?
    • はい、単純なケアレスミスによるNullPointerExceptionなど、細かいバグはまだ結構多いと感じます。ものすごい勢いでバグが報告され、ものすごい勢いで修正されていっています。今ならバグ報告&修正のハードルがすごく低いので、コントリビュートするチャンスです!
  • なぜ今のこのご時世に低メモリ?
    • 一つめはスモールスタートを可能にすることです。個人のPCなどは高スペックが普及してきましたが、クラウド環境などでスモールスタートしよう、というようなシナリオではまずは512MBの仮想マシンで動作させる、というようなシチュエーションも数多く発生します。マシンリソースの従量課金という時代になってきているので、低リソースで動作する、というのはより価値の高い特性となります。
    • 二つめはテスト容易性の向上です。従来の重いアプリケーションサーバは気軽にテストに利用できませんでしたが、Java EEのコンテナ自体を軽量なコンテナとすることで、単体テストなどで利用することが容易になります。
  • EclipseでAS7対応がまだだったんだけど対応予定は?
    • JBoss Toolsのリリースバージョンでは対応していないかもしれないのですが、ナイトリービルドではAS7対応を進めています。少々お待ちを。