5.5. 원격 자카르타 엔터프라이즈 빈 호출을 위한 IIOP 구성
JBoss EAP는 JBoss EAP에 배포된 Jakarta Enterprise Beans에 대한 CORBA/IIOP 기반 액세스를 지원합니다.
<iiop> 요소는 Jakarta Enterprise Bean의 IIOP, CORBA, 호출을 활성화하는 데 사용됩니다. 이 요소가 있다는 것은 iiop-openjdk 하위 시스템이 설치되어 있음을 의미합니다. <iiop> 요소에는 다음 두 가지 특성이 포함되어 있습니다.
-
enable-by-default: 이것이사실이라면Enterprise Beans 2.x를 사용하는 모든 Jakarta Enterprise Beans 홈 인터페이스가 IIOP를 통해 노출됩니다. 그렇지 않으면jboss-ejb3.xml을 통해 명시적으로 활성화해야 합니다. -
use-qualified-name: 이 경우JakartaEnterprise Beans는myear/myejbjar/MyBean과 같은 배포의 애플리케이션 및 모듈 이름이 포함된 바인딩 이름을 사용하여 CORBA 명명 컨텍스트에 바인딩됩니다.false인경우 기본 바인딩 이름은 단순히 빈 이름입니다.
일반적으로 Jakarta Enterprise Beans 3 원격 호출에는 원격 액세스 인터페이스가 필요하지 않지만 IIOP를 사용하여 노출되는 Jakarta Enterprise Beans 3 빈에는 필요합니다. jboss-ejb3.xml 파일을 사용하거나 구성 파일에서 모든 Jakarta Enterprise Beanss에 대해 IIOP를 활성화해야 합니다.
standalone-full.xml
IIOP 활성화
IIOP를 활성화하려면 IIOP OpenJDK ORB 하위 시스템이 설치되어 있어야 하고, <iiop/> 요소가 ejb3 하위 시스템 구성에 있어야 합니다. 배포와 함께 제공되는 standalone-full.xml 구성에는 이러한 두 가지 구성이 모두 활성화되어 있습니다.
IIOP는 서버 구성 파일의 iiop-openjdk 하위 시스템에서 구성됩니다.
<subsystem xmlns="urn:jboss:domain:iiop-openjdk:2.1">
<subsystem xmlns="urn:jboss:domain:iiop-openjdk:2.1">
다음 관리 CLI 명령을 사용하여 iiop-openjdk 하위 시스템에 액세스하고 업데이트합니다.
/subsystem=iiop-openjdk
/subsystem=iiop-openjdk
IIOP 요소는 서버의 기본 동작을 제어하는 두 개의 특성을 사용합니다.
<subsystem xmlns="urn:jboss:domain:ejb3:5.0"> ... <iiop enable-by-default="false" use-qualified-name="false"/> ... </subsystem>
<subsystem xmlns="urn:jboss:domain:ejb3:5.0">
...
<iiop enable-by-default="false" use-qualified-name="false"/>
...
</subsystem>
다음 관리 CLI 명령은 ejb3 하위 시스템 아래에 <iiop> 요소를 추가합니다.
/subsystem=ejb3/service=iiop:add(enable-by-default=false, use-qualified-name=false)
/subsystem=ejb3/service=iiop:add(enable-by-default=false, use-qualified-name=false)
IIOP를 사용하여 커뮤니티를 연결하는 자카르타 엔터프라이즈 빈 만들기
다음 예제에서는 클라이언트에서 원격 IIOP 호출을 생성하는 방법을 보여줍니다.
서버에 Enterprise Bean 2 빈을 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필수 메서드
create()가 있는 홈 구현을 만듭니다. 이 메서드는 클라이언트에서 비즈니스 메서드를 호출하기 위해 원격 인터페이스의 프록시를 가져오도록 호출합니다.public interface IIOPBeanHome extends EJBHome { public IIOPRemote create() throws RemoteException; }public interface IIOPBeanHome extends EJBHome { public IIOPRemote create() throws RemoteException; }Copy to Clipboard Copied! Toggle word wrap Toggle overflow Enterprise Bean에 대한 원격 연결을 위한 원격 인터페이스를 생성합니다.
public interface IIOPRemote extends EJBObject { String sayHello() throws RemoteException; }public interface IIOPRemote extends EJBObject { String sayHello() throws RemoteException; }Copy to Clipboard Copied! Toggle word wrap Toggle overflow META-INF에 설명자 파일jboss-ejb3.xml을 만들어 원격 호출을 위한 빈을 도입합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고JAR 파일의 설명자와 함께 빈을 JBoss EAP 컨테이너에 배포할 준비가 되었습니다.
클라이언트 측에서 컨텍스트를 생성합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고클라이언트는
wildfly iiop openjdk라이브러리를 클래스 경로에 추가해야 합니다. 또한 클라이언트는org.wildfly:wildfly-iiop-openjdk아티팩트를 Maven 종속성으로 추가해야 할 수도 있습니다.컨텍스트 조회를 사용하여
IIOPBean 알아보려면 홈인터페이스에 대한 참조를 좁힙니다. 그런 다음 홈 인터페이스create()메서드를 호출하여 원격 인터페이스에 액세스하여 메서드를 호출할 수 있습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow