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::\80.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)