21장. Jakarta Server Faces 구성
21.1. Jakarta Server Faces의 다중 Jakarta Server Faces 구현 링크 복사링크가 클립보드에 복사되었습니다!
jsf 하위 시스템을 사용하면 동일한 JBoss EAP 서버 인스턴스에 여러 Jakarta Server Faces 구현을 설치할 수 있습니다. Jakarta Server Faces 사양 2.3 이상을 구현하는 Sun Mojarra 또는 Apache MyFaces 버전을 설치할 수 있습니다.
21.1.1. Jakarta Server Faces 구현 설치 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 새로운 Jakarta Server Faces 구현을 수동으로 설치하고 이를 기본 구현으로 설정하는 방법을 설명합니다.
Jakarta Server Faces Implementation JAR 파일 추가
Jakarta Server Faces 구현을 위한
EAP_HOME/modules/디렉터리에 적절한 디렉터리 구조를 생성합니다.$ cd EAP_HOME/modules/ $ mkdir -p com/sun/jsf-impl/IMPL_NAME-VERSION참고예를 들어
IMPL_NAME-VERSION을 Jakarta Server Faces 사양 2.3 이상을 지원하는 Mojarra 버전으로 교체합니다.-
Jakarta Server Faces 구현 JAR 파일을
IMPL_NAME-VERSION/하위 디렉터리에 복사합니다. -
IMPL_NAME-VERSION/하위 디렉터리에서 이 Mojarra 템플릿 또는 이 MyFaces 템플릿 과 유사한module.xml파일을 생성합니다. 템플릿을 사용하는 경우 언급된 standalone 변수에 적절한 값을 사용해야 합니다.
Jakarta Server Faces API JAR 파일 추가
Jakarta Server Faces 구현을 위한
EAP_HOME/modules/디렉터리에 적절한 디렉터리 구조를 생성합니다.$ cd EAP_HOME/modules/ $ mkdir -p javax/faces/api/IMPL_NAME-VERSION-
Jakarta Server Faces API JAR 파일을
IMPL_NAME-VERSION/하위 디렉터리에 복사합니다. -
IMPL_NAME-VERSION/하위 디렉터리에서 이 Mojarra 템플릿 또는 이 MyFaces 템플릿 과 유사한module.xml파일을 생성합니다. 템플릿을 사용하는 경우 언급된 standalone 변수에 적절한 값을 사용해야 합니다.
Jakarta Server Faces Injection JAR 파일 추가
Jakarta Server Faces 구현을 위한
EAP_HOME/modules/디렉터리에 적절한 디렉터리 구조를 생성합니다.$ cd EAP_HOME/modules/ $ mkdir -p org/jboss/as/jsf-injection/IMPL_NAME-VERSION패치 및 업그레이드 가이드에 설명된 지침을 따라 JBoss EAP 인스턴스의 최신 누적 패치를 다운로드합니다. 다음으로 다음 단계 중 하나를 완료합니다.
-
패치 업데이트를 서버에 적용하지 않은 경우
EAP_HOME/modules/system/layers/base/org/jboss/as/jsff JAR 파일을-jsf-injection/main/에서 thewildfly-jsf-injection 및 weld-coreIMPL_NAME-VERSION/하위 디렉터리에 복사합니다. -
패치 업데이트를 서버에 적용한 경우 최신 패치 업데이트 디렉토리에서
IMPL_NAME-VERSION/하위 디렉터리로 thewildflyJAR 파일을 복사합니다. 예를 들어-jsf-injection및 weld-core-jsfEAP_HOME/modules/system/layers/base/.overlays/layer-base-jboss-eap-7.4.z.CP/org/jboss/as/jsf-injection은 최신 버전 번호입니다.
-
패치 업데이트를 서버에 적용하지 않은 경우
-
IMPL_NAME-VERSION/하위 디렉터리에서 이 Mojarra 템플릿 또는 이 MyFaces 템플릿 과 유사한module.xml파일을 생성합니다. 템플릿을 사용하는 경우 언급된 standalone 변수에 적절한 값을 사용해야 합니다.
MyFaces에 commons-digester JAR 파일 추가
commons-digesterJAR의EAP_HOME/modules/디렉터리에 적절한 디렉터리 구조를 생성합니다.$ cd EAP_HOME/modules/ $ mkdir -p org/apache/commons/digester/main-
commons-digesterJAR 파일을 다운로드하여main/하위 디렉터리에 복사합니다. -
main/하위 디렉터리에서 이 템플릿 과 유사한module.xml파일을 생성합니다. 템플릿을 사용하는 경우 언급된 standalone 변수에 적절한 값을 사용해야 합니다.
기본 Jakarta Server Faces 구현 설정
다음 관리 CLI 명령을 실행하여 새로운 Jakarta Server Faces 구현을 기본 구현으로 설정합니다.
/subsystem=jsf:write-attribute(name=default-jsf-impl-slot,value=IMPL_NAME-VERSION)- 변경 사항을 적용하려면 JBoss EAP 서버를 다시 시작하십시오.
21.1.2. Multi-Jakarta Server Faces 구현 지원 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP 7.4에는 Mojarra를 기반으로 하는 단일 Jakarta Server Faces 구현인 Jakarta Server Faces 2.3 구현이 포함되어 있습니다.
Multi-Jakarta Server Faces를 사용하면 동일한 JBoss EAP 서버에 여러 Jakarta Server Faces 구현 및 버전을 설치할 수 있습니다. 이 목표는 Jakarta Server Faces, MyFaces 또는 Mojarra 그리고 Faces 2.1 이상 및 Jakarta Server Faces 2.3 이후의 모든 구현 버전을 사용할 수 있도록 하는 것입니다. 멀티Jakarta Server Faces는 보다 효율적인 주석 처리, 라이프사이클 처리 및 기타 통합 이점을 허용하는 컨테이너와 완전히 통합된 구현을 제공합니다.
21.1.2.1. Multi-Jakarta Server Faces 구현 작업 링크 복사링크가 클립보드에 복사되었습니다!
multi-Jakarta Server Faces가 작동하는 방식은 각 Jakarta Server Faces 버전에 대해 com.sun.jsf-impl, 아래의 모듈 경로에 새 슬롯이 생성된다는 것입니다. javax.faces.api 및 injectionorg.jboss.as. jsf-jsf 하위 시스템이 시작되면 모듈 경로를 검사하여 설치된 모든 Jakarta Server Faces 구현을 찾습니다. jsf 하위 시스템에서 지정된 컨텍스트 매개 변수를 포함하는 웹 애플리케이션을 배포하는 경우 슬롯된 모듈을 배포에 추가합니다.
예를 들어 Jakarta Server Faces 애플리케이션이 MyFaces 2.2.12를 사용함을 나타내기 위해 MyFaces 2.2.12가 서버에 설치되어 있다고 가정하면 다음과 같은 context 매개변수를 추가해야 합니다.
<context-param>
<param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name>
<param-value>myfaces-2.2.12</param-value>
</context-param>
21.1.2.2. 기본 Jakarta Server Faces 구현 변경 링크 복사링크가 클립보드에 복사되었습니다!
multi-Jakarta Server Faces 기능에는jsf 하위 시스템에 default-jsf-impl-slot 특성이 포함되어 있습니다. 이 속성을 사용하면 다음 절차에 설명된 대로 기본 Jakarta Server Faces 구현을 변경할 수 있습니다.
write-attribute명령을 사용하여default-jsf-impl-slot속성 값을 활성 Jakarta Server Faces 구현 중 하나로 설정합니다./subsystem=jsf:write-attribute(name=default-jsf-impl-slot,value=JSF_IMPLEMENTATION)변경 사항을 적용하려면 JBoss EAP 서버를 다시 시작하십시오.
reload
설치된 Jakarta Server Faces 구현을 보려면 list-active-jsf-impls 작업을 실행할 수 있습니다.
/subsystem=jsf:list-active-jsf-impls
{
"outcome" => "success",
"result" => [
"myfaces-2.1.12",
"mojarra-2.2.0-m05",
"main"
]
}