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
●