モ ジ ュ ールク ラ ス ロ ーデ ィ ン グ                     Takayoshi Kimura Senior Software Maintenance Engineer      Global Support Ser...
The Class Path is Dead.          2
3
モジュールシステム●   OSGi●   Maven●   Jigsaw●   JBoss Modules                    4
モジュールシステム?    5
モジュールシステム●   モジュールを定義する方法を提供●   モジュールからクラスをロードするため    のクラスローディング環境を提供            6
モジュールシステムなにそれおいしいの?    7
Maven<dependency>  <groupId>org.seasar.sastruts</groupId>  <artifactId>sa-struts</artifactId>  <version>1.0.4-sp9</version...
WAR ( クラスパス )            9
クラスパスjava -classpath ".:antlr-2.7.2.jar:aopalliance-1.0.jar:commons-beanutils-1.7.0.jar:commons-collections-2.1.jar:common...
Maven→ シンプル実行時クラスパス→異常     11
JBoss Modules<dependencies>  <module name="org.seasar.sastruts.sa-struts"          slot="1.0.4.sp9"/><dependencies>       ...
JBoss Modulesjava -jar jboss-modules.jar -mp ~/modules/     -dep org.seasar.sastruts.sa-struts     -cp . MainClass        ...
OSGiImport-Package:  org.seasar.sastruts.sa-struts;version="1.0.4.sp9"                           14
まとめ 15
モジュールシステム        =ランタイムで利用できる Maven みたいなやつ      16
モジュールシステムが解決するもの●   コンパクト、シンプル、見通しの良い依    存の定義●   明確な依存スコープ    ●   バージョン違いの jar の利用●   パフォーマンス向上    ●   パラレルクラスローディング    ●...
Upcoming SlideShare
Loading in …5
×

Module classloading

2,707 views

Published on

JJUG Night Seminar, Aug 2012

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,707
On SlideShare
0
From Embeds
0
Number of Embeds
115
Actions
Shares
0
Downloads
11
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Module classloading

  1. 1. モ ジ ュ ールク ラ ス ロ ーデ ィ ン グ Takayoshi Kimura Senior Software Maintenance Engineer Global Support Services, Red Hat
  2. 2. The Class Path is Dead. 2
  3. 3. 3
  4. 4. モジュールシステム● OSGi● Maven● Jigsaw● JBoss Modules 4
  5. 5. モジュールシステム? 5
  6. 6. モジュールシステム● モジュールを定義する方法を提供● モジュールからクラスをロードするため のクラスローディング環境を提供 6
  7. 7. モジュールシステムなにそれおいしいの? 7
  8. 8. Maven<dependency> <groupId>org.seasar.sastruts</groupId> <artifactId>sa-struts</artifactId> <version>1.0.4-sp9</version></dependency> 8
  9. 9. WAR ( クラスパス ) 9
  10. 10. クラスパスjava -classpath ".:antlr-2.7.2.jar:aopalliance-1.0.jar:commons-beanutils-1.7.0.jar:commons-collections-2.1.jar:commons-digester-1.6.jar:commons-fileupload-1.2.jar:commons-logging-1.0.4.jar:commons-validator-1.1.4.jar:easymock-2.4.jar:javassist-3.4.ga.jar:junit-4.4.jar:ognl-2.6.9-patch-20090427.jar:oro-2.0.7.jar:poi-3.0-FINAL.jar:s2-extension-2.4.44.jar:s2-framework-2.4.44.jar:s2-tiger-2.4.44.jar:sa-struts-1.0.4-sp9.jar:struts-1.2.9.jar:xalan-2.5.1.jar:xml-apis-1.0.b2.jar" MainClass 10
  11. 11. Maven→ シンプル実行時クラスパス→異常 11
  12. 12. JBoss Modules<dependencies> <module name="org.seasar.sastruts.sa-struts" slot="1.0.4.sp9"/><dependencies> 12
  13. 13. JBoss Modulesjava -jar jboss-modules.jar -mp ~/modules/ -dep org.seasar.sastruts.sa-struts -cp . MainClass 13
  14. 14. OSGiImport-Package: org.seasar.sastruts.sa-struts;version="1.0.4.sp9" 14
  15. 15. まとめ 15
  16. 16. モジュールシステム =ランタイムで利用できる Maven みたいなやつ 16
  17. 17. モジュールシステムが解決するもの● コンパクト、シンプル、見通しの良い依 存の定義● 明確な依存スコープ ● バージョン違いの jar の利用● パフォーマンス向上 ● パラレルクラスローディング ● モジュールの遅延ロード 17

×