JBoss Modules Internal
JBUG Korea
@tedwon
Build JBoss Modules
git clone git@github.com:tedwon/jboss-modules.git
cd jboss-modules
git remote add upstream git@github.com:jboss-modules/jboss-modules.git
mvn clean install javadoc:javadoc
JBoss Modules
● https://github.com/jboss-modules/jboss-modules
● http://arhipov.blogspot.kr/2016/05/hello-world-with-jboss-modules.html
● 순수 JDK 만으로 만든 프로젝트
● 다른 프로젝트의 근간
○ WildFly, Infinispan, ...
● David Lloyd는 이걸 왜 만들었을까?
● 단순한 실행 환경 제공, not a container
○ No need a container
● 하나의 묶음으로 로드할 클래스들의 논리적 단위
● 모듈 하나당 하나의 클래스 로더
● 그래프 클래스 로더 구조
JBoss Modules
● 클래스패스는 사용되든 안되든 언제나 모든 클래스를 로드한다.
○ jar간의 visibility를 조절 할 수 없다.
● 각 모듈은 isolated
● 명시적으로 의존성을 정의
● 모듈의 클래스 패스는 모듈의 클래스와 직접적인 의존성을 갖는 것만
포함한다.
● No need class path to execute
● flat classpath
● graph modular class loading
● desiner, tool이 있으면 좋을 듯
JBoss Modules
● java.* 의존성 기본 포함
● Static module
○ module.xml
○ 의존성을 명시적으로 선언
● Dynamic module
○ deployment
○ 의존성 선언 MANIFEST.MF 또는 jboss-deployment-structure.xml 에 선언
○ war 하나의 모듈
○ ear 여러 개의 모듈
■ ear/lib 부모 모듈
■ ejb/war 각 하나의 모듈
● java -jar jboss-modules.jar -mp modules -deptree org.jboss.as.standalone
●
References
1. http://jboss-modules.github.io/jboss-modules/manual/
2. http://el4j.sourceforge.net/plugins/maven-depgraph-plugin/plugin-info.html
3. http://arhipov.blogspot.kr/2016/05/hello-world-with-jboss-modules.html
4. https://github.com/tedwon/hello-jboss-modules
5. https://vimeo.com/32211344
6. http://www.theserverside.com/news/thread.tss?thread_id=62647
7. http://word-bits.flurg.com/circular-module-dependencies-and-the-real-world/
8. http://in.relation.to/david-lloyd/
9. https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track1session1.pdf
10. https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track3session5.pdf
11. http://in.relation.to/2010/09/10/modularized-java-withjboss-modules/
12. https://www.yumpu.com/en/document/view/51887543/eap6-nuts-to-bolts-red-hat-summit/14
13. https://github.com/bparry02/jboss-modules-demo

JBoss Modules Internal

  • 1.
  • 2.
    Build JBoss Modules gitclone git@github.com:tedwon/jboss-modules.git cd jboss-modules git remote add upstream git@github.com:jboss-modules/jboss-modules.git mvn clean install javadoc:javadoc
  • 3.
    JBoss Modules ● https://github.com/jboss-modules/jboss-modules ●http://arhipov.blogspot.kr/2016/05/hello-world-with-jboss-modules.html ● 순수 JDK 만으로 만든 프로젝트 ● 다른 프로젝트의 근간 ○ WildFly, Infinispan, ... ● David Lloyd는 이걸 왜 만들었을까? ● 단순한 실행 환경 제공, not a container ○ No need a container ● 하나의 묶음으로 로드할 클래스들의 논리적 단위 ● 모듈 하나당 하나의 클래스 로더 ● 그래프 클래스 로더 구조
  • 4.
    JBoss Modules ● 클래스패스는사용되든 안되든 언제나 모든 클래스를 로드한다. ○ jar간의 visibility를 조절 할 수 없다. ● 각 모듈은 isolated ● 명시적으로 의존성을 정의 ● 모듈의 클래스 패스는 모듈의 클래스와 직접적인 의존성을 갖는 것만 포함한다. ● No need class path to execute ● flat classpath ● graph modular class loading ● desiner, tool이 있으면 좋을 듯
  • 5.
    JBoss Modules ● java.*의존성 기본 포함 ● Static module ○ module.xml ○ 의존성을 명시적으로 선언 ● Dynamic module ○ deployment ○ 의존성 선언 MANIFEST.MF 또는 jboss-deployment-structure.xml 에 선언 ○ war 하나의 모듈 ○ ear 여러 개의 모듈 ■ ear/lib 부모 모듈 ■ ejb/war 각 하나의 모듈 ● java -jar jboss-modules.jar -mp modules -deptree org.jboss.as.standalone ●
  • 11.
    References 1. http://jboss-modules.github.io/jboss-modules/manual/ 2. http://el4j.sourceforge.net/plugins/maven-depgraph-plugin/plugin-info.html 3.http://arhipov.blogspot.kr/2016/05/hello-world-with-jboss-modules.html 4. https://github.com/tedwon/hello-jboss-modules 5. https://vimeo.com/32211344 6. http://www.theserverside.com/news/thread.tss?thread_id=62647 7. http://word-bits.flurg.com/circular-module-dependencies-and-the-real-world/ 8. http://in.relation.to/david-lloyd/ 9. https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track1session1.pdf 10. https://www.jboss.org/dms/judcon/presentations/Boston2011/JUDConBoston2011_day1track3session5.pdf 11. http://in.relation.to/2010/09/10/modularized-java-withjboss-modules/ 12. https://www.yumpu.com/en/document/view/51887543/eap6-nuts-to-bolts-red-hat-summit/14 13. https://github.com/bparry02/jboss-modules-demo