21.5. WS-RM 구성


21.5.1. Apache CXF-Specific WS-RM 속성 구성

21.5.1.1. 개요

Apache CXF별 속성을 구성하려면 rmManager Spring 8080을 사용합니다. 구성 파일에 다음을 추가합니다.

예 21.4. “Apache CXF-Specific WS-RM 속성 구성” 간단한 예를 보여줍니다.

예 21.4. Apache CXF-Specific WS-RM 속성 구성

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:wsrm-mgr="http://cxf.apache.org/ws/rm/manager"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
 http://cxf.apache.org/ws/rm/manager http://cxf.apache.org/schemas/configuration/wsrm-manager.xsd">
...
<wsrm-mgr:rmManager>
<!--
  ...Your configuration goes here
-->
</wsrm-mgr:rmManager>

21.5.1.2. rmManager Spring 8080의 하위 항목

표 21.2. “rmManager Spring Cryostat의 하위” http://cxf.apache.org/ws/rm/manager 네임스페이스에 정의된 rmManager Spring 8080의 하위 요소를 표시합니다.

표 21.2. rmManager Spring Cryostat의 하위
element설명

RMAsertion

RMAsertion 유형의요소

deliveryAssurance

적용되어야 하는 전달 보장을 설명하는 DeliveryAssuranceType 유형의 요소

sourcePolicy

RM 소스의 세부 정보를 구성할 수 있는 SourcePolicyType 유형의 요소

destinationPolicy

RM 대상에 대한 세부 정보를 구성할 수 있는 DestinationPolicyType 유형의 요소

21.5.1.3. 예

예를 들면 “승인되지 않은 최대 메시지 임계값” 을 참조하십시오.

21.5.2. 표준 WS-RM 정책 속성 구성

21.5.2.1. 개요

다음 방법 중 하나로 표준 WS-RM 정책 속성을 구성할 수 있습니다.

21.5.2.2. WS-Policy RMAsertion children

표 21.3. “WS-Policy RMAsertion Element” http://schemas.xmlsoap.org/ws/2005/02/rm/policy 네임스페이스에 정의된 요소를 표시합니다.

표 21.3. WS-Policy RMAsertion Element
이름설명

InactivityTimeout

끝점이 비활성으로 인해 RM 시퀀스를 종료하기 전에 메시지를 수신하지 않고 전달해야 하는 시간을 지정합니다.

BaseRetransmissionInterval

지정된 메시지에 대해 RM 소스에서 승인을 받아야 하는 간격을 설정합니다. BaseRetransmissionInterval 에서 설정한 시간 내에 승인이 수신되지 않으면 RM Source가 메시지를 다시 전송합니다.

ExponentialBackoff

일반적으로 알려진 지수 백오프 알고리즘(Tanenbaum)을 사용하여 재전송 간격이 조정됨을 나타냅니다.

자세한 내용은 Computer Networks, Andrew S. Tanenbaum, Prentice Hall PTR, 2003을 참조하십시오.

AcknowledgementInterval

WS-RM에서 반환 메시지로 승인이 전송되거나 독립 실행형으로 전송됩니다. 승인을 보내는 데 반환 메시지를 사용할 수 없는 경우 RM Destination은 독립형 승인을 보내기 전에 승인 간격까지 기다릴 수 있습니다. 승인되지 않은 메시지가 없는 경우 RM Destination은 승인을 보내지 않도록 선택할 수 있습니다.

21.5.2.3. 자세한 참조 정보

각 요소의 하위 요소 및 속성에 대한 설명을 포함한 자세한 참조 정보는 http://schemas.xmlsoap.org/ws/2005/02/rm/wsrm-policy.xsd 에서 참조하십시오.

21.5.2.4. rmManager Spring 8080의 RMAssertion

Apache CXF rmManager Spring Ignition 내에 RMAssertion 을 추가하여 표준 WS-RM 정책 속성을 구성할 수 있습니다. 모든 WS-RM 구성을 동일한 구성 파일에 유지하려면, 즉, Apache CXF별 속성 및 표준 WS-RM 정책 속성을 동일한 파일에 구성하려면 이 방법이 가장 좋습니다.

예를 들어 예 21.5. “rmManager Spring Cryostat에서 RMAssertion을 사용하여 WS-RM 속성 구성” 의 구성은 다음과 같습니다.

  • rmManager Springans 내의 RMAssertion 을 사용하여 구성된 표준 WS-RM 정책 속성 BaseRetransmissionInterval.
  • 동일한 구성 파일에 구성된 Apache CXF별 RM 속성 intraMessageThreshold.

예 21.5. rmManager Spring Cryostat에서 RMAssertion을 사용하여 WS-RM 속성 구성

<beans xmlns:wsrm-policy="http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
       xmlns:wsrm-mgr="http://cxf.apache.org/ws/rm/manager"
...>
<wsrm-mgr:rmManager id="org.apache.cxf.ws.rm.RMManager">
    <wsrm-policy:RMAssertion>
        <wsrm-policy:BaseRetransmissionInterval Milliseconds="4000"/>
    </wsrm-policy:RMAssertion>
    <wsrm-mgr:destinationPolicy>
        <wsrm-mgr:acksPolicy intraMessageThreshold="0" />
    </wsrm-mgr:destinationPolicy>
</wsrm-mgr:rmManager>
</beans>

21.5.2.5. 기능 내 정책

예 21.6. “기능 내에서 WS-RM 속성 구성” 에 표시된 대로 기능 내에서 표준 WS-RM 정책 속성을 구성할 수 있습니다.

예 21.6. 기능 내에서 WS-RM 속성 구성

<xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:wsa="http://cxf.apache.org/ws/addressing"
        xmlns:wsp="http://www.w3.org/2006/07/ws-policy"
        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
        xmlns:jaxws="http://cxf.apache.org/jaxws"
        xsi:schemaLocation="
http://www.w3.org/2006/07/ws-policy http://www.w3.org/2006/07/ws-policy.xsd
http://cxf.apache.org/ws/addressing http://cxf.apache.org/schema/ws/addressing.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <jaxws:endpoint name="{http://cxf.apache.org/greeter_control}GreeterPort" createdFromAPI="true">
        <jaxws:features>
               <wsp:Policy>
                   <wsrm:RMAssertion xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
                     <wsrm:AcknowledgementInterval Milliseconds="200" />
                   </wsrm:RMAssertion>
                   <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata">
                       <wsp:Policy>
                            <wsam:NonAnonymousResponses/>
                       </wsp:Policy>
                   </wsam:Addressing>
              </wsp:Policy>
        </jaxws:features>
    </jaxws:endpoint>
</beans>

21.5.2.6. WSDL 파일

WS-Policy 프레임워크를 사용하여 WS-RM을 활성화하는 경우 WSDL 파일에서 표준 WS-RM 정책 속성을 구성할 수 있습니다. 다른 정책 인식 웹 서비스 스택에 배포된 소비자와 원활하게 WS-RM을 상호 운용하고 사용하려면 이 방법이 좋은 방법입니다.

예를 들어 기본 재전송 간격이 WSDL 파일에서 구성된 “WS-Policy 프레임워크: 암시적으로 인터셉터 추가” 를 참조하십시오.

21.5.2.7. 외부 첨부 파일

외부 첨부 파일에서 표준 WS-RM 정책 속성을 구성할 수 있습니다. 이 방법은 WSDL 파일을 변경할 수 없거나 변경할 수 없는 경우 좋은 방법입니다.

예 21.7. “외부 연결에서 WS-RM 구성” 특정 EPR에 대해 WS-A 및 WS-RM(base retransmission interval of 30초)을 모두 활성화하는 외부 첨부 파일을 표시합니다.

예 21.7. 외부 연결에서 WS-RM 구성

<attachments xmlns:wsp="http://www.w3.org/2006/07/ws-policy" xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <wsp:PolicyAttachment>
        <wsp:AppliesTo>
           <wsa:EndpointReference>
                <wsa:Address>http://localhost:9020/SoapContext/GreeterPort</wsa:Address>
            </wsa:EndpointReference>
        </wsp:AppliesTo>
        <wsp:Policy>
            <wsam:Addressing xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata">
                <wsp:Policy/>
            </wsam:Addressing>
            <wsrmp:RMAssertion xmlns:wsrmp="http://schemas.xmlsoap.org/ws/2005/02/rm/policy">
                <wsrmp:BaseRetransmissionInterval Milliseconds="30000"/>
            </wsrmp:RMAssertion>
        </wsp:Policy>
    </wsp:PolicyAttachment>
</attachments>/

21.5.3. WS-RM 구성 사용 사례

21.5.3.1. 개요

이 하위 섹션에서는 사용 사례 관점에서 WS-RM 속성을 구성하는 데 중점을 둡니다. 속성이 http://schemas.xmlsoap.org/ws/2005/02/rm/policy/ 네임스페이스에 정의된 표준 WS-RM 정책 속성인 경우 rmManager Spring 8080 내의 RMAssertion 에 설정하는 예만 표시됩니다. 기능 내에서 정책과 같은 특성을 설정하는 방법에 대한 자세한 내용은 WSDL 파일에서 또는 외부 연결에서 21.5.2절. “표준 WS-RM 정책 속성 구성” 를 참조하십시오.

다음 사용 사례를 다룹니다.

21.5.3.2. 기본 재전송 간격

BaseRetransmissionInterval 요소는 RM 소스가 아직 승인되지 않은 메시지를 다시 전송하는 간격을 지정합니다. http://schemas.xmlsoap.org/ws/2005/02/rm/wsrm-policy.xsd 스키마 파일에 정의되어 있습니다. 기본값은 3000밀리초입니다.

예 21.8. “WS-RM 기본 재전송 간격 설정” WS-RM 기본 재전송 간격을 설정하는 방법을 보여줍니다.

예 21.8. WS-RM 기본 재전송 간격 설정

<beans xmlns:wsrm-policy="http://schemas.xmlsoap.org/ws/2005/02/rm/policy
...>
<wsrm-mgr:rmManager id="org.apache.cxf.ws.rm.RMManager">
    <wsrm-policy:RMAssertion>
        <wsrm-policy:BaseRetransmissionInterval Milliseconds="4000"/>
    </wsrm-policy:RMAssertion>
</wsrm-mgr:rmManager>
</beans>

21.5.3.3. 재전송을 위한 지수 백오프

ExponentialBackoff 요소는 승인되지 않은 메시지에 대한 연속 재전송 시도가 기하급수적으로 수행되는지 여부를 결정합니다.

ExponentialBackoff 요소가 있으면 이 기능을 활성화합니다. 기본적으로 2 의 지수 백오프 비율이 사용됩니다. ExponentialBackoff 는 플래그입니다. 요소가 있으면 지수 백오프가 활성화됩니다. 요소가 없으면 지수 백오프가 비활성화됩니다. 값이 필요하지 않습니다.

예 21.9. “WS-RM 노출 백오프 속성 설정” 재전송을 위해 WS-RM 지수 백오프를 설정하는 방법을 보여줍니다.

예 21.9. WS-RM 노출 백오프 속성 설정

<beans xmlns:wsrm-policy="http://schemas.xmlsoap.org/ws/2005/02/rm/policy
...>
<wsrm-mgr:rmManager id="org.apache.cxf.ws.rm.RMManager">
    <wsrm-policy:RMAssertion>
        <wsrm-policy:ExponentialBackoff/>
    </wsrm-policy:RMAssertion>
</wsrm-mgr:rmManager>
</beans>

21.5.3.4. 승인 간격

AcknowledgementInterval 요소는 WS-RM 대상이 비동기 승인을 전송하는 간격을 지정합니다. 이러한 승인은 수신되는 메시지를 수신 시 전송하는 동기식 확인에 추가됩니다. 기본 비동기 승인 간격은 0 밀리초입니다. 즉, AcknowledgementInterval 이 특정 값으로 구성되지 않은 경우 승인이 즉시 전송됩니다(즉, 사용 가능한 첫 번째 기회에).

비동기 승인은 다음 두 조건이 충족되는 경우에만 RM 대상에 의해 전송됩니다.

  • RM 대상은 비익명 wsrm:acksTo 끝점을 사용하고 있습니다.
  • 응답 메시지에 대한 승인에 대한 감사의 기회를 비추는 것은 승인 기간이 만료되기 전에 발생하지 않습니다.

예 21.10. “WS-RM 승인 간격 설정” WS-RM 승인 간격을 설정하는 방법을 보여줍니다.

예 21.10. WS-RM 승인 간격 설정

<beans xmlns:wsrm-policy="http://schemas.xmlsoap.org/ws/2005/02/rm/policy
...>
<wsrm-mgr:rmManager id="org.apache.cxf.ws.rm.RMManager">
    <wsrm-policy:RMAssertion>
        <wsrm-policy:AcknowledgementInterval Milliseconds="2000"/>
    </wsrm-policy:RMAssertion>
</wsrm-mgr:rmManager>
</beans>

21.5.3.5. 승인되지 않은 최대 메시지 임계값

maxUnacknowledged 속성은 시퀀스가 종료되기 전에 시퀀스당 누적될 수 있는 풀링되지 않은 메시지의 최대 수를 설정합니다.

예 21.11. “WS-RM 최대 풀링되지 않은 메시지 임계값 설정” WS-RM 최대 알 수 없는 메시지 임계값을 설정하는 방법을 보여줍니다.

예 21.11. WS-RM 최대 풀링되지 않은 메시지 임계값 설정

<beans xmlns:wsrm-mgr="http://cxf.apache.org/ws/rm/manager
...>
<wsrm-mgr:reliableMessaging>
    <wsrm-mgr:sourcePolicy>
        <wsrm-mgr:sequenceTerminationPolicy maxUnacknowledged="20" />
    </wsrm-mgr:sourcePolicy>
</wsrm-mgr:reliableMessaging>
</beans>

21.5.3.6. RM 순서의 최대 길이

maxLength 속성은 WS-RM 시퀀스의 최대 길이를 설정합니다. 기본값은 0 입니다. 즉, WS-RM 시퀀스의 길이는 바인딩되지 않습니다.

이 속성이 설정되면 RM 끝점은 제한에 도달하고 이전에 보낸 메시지의 모든 승인을 받은 후 새 RM 시퀀스를 생성합니다. 새 메시지는 newsequence를 사용하여 전송됩니다.

예 21.12. “WS-RM 메시지 시퀀스의 최대 길이 설정” RM 시퀀스의 최대 길이를 설정하는 방법을 보여줍니다.

예 21.12. WS-RM 메시지 시퀀스의 최대 길이 설정

<beans xmlns:wsrm-mgr="http://cxf.apache.org/ws/rm/manager
...>
<wsrm-mgr:reliableMessaging>
    <wsrm-mgr:sourcePolicy>
        <wsrm-mgr:sequenceTerminationPolicy maxLength="100" />
    </wsrm-mgr:sourcePolicy>
</wsrm-mgr:reliableMessaging>
</beans>

21.5.3.7. 메시지 전달 보장 정책

다음 전달 보장 정책을 사용하도록 RM 대상을 구성할 수 있습니다.

  • RM 대상은 한 번만 애플리케이션 대상에 메시지를 전달합니다. 메시지가 두 번 이상 전달되는 경우 오류가 발생합니다. 시퀀스의 일부 메시지는 전달되지 않을 수 있습니다.
  • AtLeastOnce - RM 대상은 하나 이상의 애플리케이션 대상에 메시지를 전달합니다. 전송된 모든 메시지가 전달되거나 오류가 발생합니다. 일부 메시지는 두 번 이상 전달될 수 있습니다.
  • InOrder - RM 대상은 전송된 순서대로 애플리케이션 대상에 메시지를 전달합니다. 이 전달 보증은 At Cryostat Once 또는 AtLeastOnce 보증과 결합할 수 있습니다.

예 21.13. “WS-RM 메시지 전달 보장 정책 설정” WS-RM 메시지 전달 보장을 설정하는 방법을 보여줍니다.

예 21.13. WS-RM 메시지 전달 보장 정책 설정

<beans xmlns:wsrm-mgr="http://cxf.apache.org/ws/rm/manager
...>
<wsrm-mgr:reliableMessaging>
    <wsrm-mgr:deliveryAssurance>
        <wsrm-mgr:AtLeastOnce />
    </wsrm-mgr:deliveryAssurance>
</wsrm-mgr:reliableMessaging>
</beans>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.