5.6. Jakarta Enterprise Beans 클라이언트 주소 구성
아래 예와 같이 SessionContext
인터페이스를 사용하여 Jakarta Enterprise Beans 클라이언트 주소를 확인할 수 있습니다.
public class HelloBean implements HelloBeanRemote { @Resource SessionContext ctx; private Long counter; public HelloBean() { } @PostConstruct public void init() { counter = 0L; } @Override @RolesAllowed("users") public String hello() { final String message = "method hello() invoked by user " + ctx.getCallerPrincipal().getName() + ", source addr = " + ctx.getContextData().get("jboss.source-address").toString(); System.out.println(message); return message; } }
독립 실행형 클라이언트 구성
the wildfly
요소를 구성할 수 있습니다. -config.xml 파일에서 네임스페이스
addressesurn:xnio:3.5
를 보유하는 작업자
요소 내에서 outbound-bind-bind-address
sub-element는 아래에 정의된 대로 bind
-address
,bind-port
속성을 사용합니다.
다음은 the wildfly-config.xml
파일을 사용하는 독립 실행형 클라이언트 구성의 예입니다.
<configuration> <worker xmlns="urn:xnio:3.5"> <worker-name value="default"/> <outbound-bind-addresses> <bind-address bind-address=IP_ADDRESS_TO_BIND_TO bind-port=OPTIONAL_SOURCE_PORT_NUMBER match=CIDR_BLOCK /> </outbound-bind-addresses> </worker> </configuration>
outbound -bind-address
에는 다음 속성이 필요합니다.
-
match
는10.0.0.0/8,
,ff00::\8
0.0.0.0/0
,::/0
과 같은 Classless Inter-Domain Routing(CIDR) 블록입니다. -
bind-address
는 대상 주소가match
매개변수에 지정된 CIDR 블록과 일치하는 경우 바인딩할 IP 주소를 지정합니다. CIDR 블록과 동일한 주소 제품군이어야 합니다. bind-port
는 기본값이0
인 선택적 소스 포트 번호입니다.일치하는 표현식이 없으면 아웃바운드 소켓은 명시적으로 바인딩되지 않습니다.
컨테이너 기반 구성
Jakarta Enterprise Beans 클라이언트 주소의 컨테이너 기반 구성은 the wildfly-config.xml
파일에 정의된 독립 실행형 클라이언트 구성과 유사합니다.
아래 예제에서는 ejb3
하위 시스템에서 기본적으로 사용하는 io
하위 시스템의 기본 worker
요소에 outbound -bind-address
를 구성합니다.
/subsystem=io/worker=default/outbound-bind-address=SPECIFY_OUTBOUND_BIND_ADDRESS:add(bind-address=IP_ADDRESS_TO_BIND_TO, bind-port=OPTIONAL_SOURCE_PORT_NUMBER, match=CIDR_BLOCK)