270.7. InOut 메시지 교환 패턴 사용


Camel 2.8+

FIX 프로토콜은 이벤트 중심적이고 비동기적이지만 요청-응답 메시지 교환을 나타내는 특정 쌍의 메시지가 있습니다. InOut 교환 패턴을 사용하려면 요청에 대한 단일 요청 메시지와 단일 응답 메시지가 있어야합니다. 예를 들어 OrderStatusRequest 메시지 및 UserRequest가 있습니다.

270.7.1. 소비자용 InOut Exchanges 구현

QuickFIX/J 인포인트 URI에 "exchangePECDHEn=InOut"을 추가합니다. 아래 예제의 MessageOrderStatusService 는 동기 서비스 방법이 있는Bean입니다. 메서드가 요청자 세션으로 다시 전송되는 요청에 대한 응답을 반환합니다(이 경우 ExecutionReport).

    from("quickfix:examples/inprocess.cfg?sessionID=FIX.4.2:MARKET->TRADER&exchangePattern=InOut")
        .filter(header(QuickfixjEndpoint.MESSAGE_TYPE_KEY).isEqualTo(MsgType.ORDER_STATUS_REQUEST))
        .bean(new MarketOrderStatusService());
Copy to Clipboard Toggle word wrap

270.7.2. Producers를 위한 InOut Exchanges 구현

생산자의 경우 응답을 수신하거나 시간 초과가 발생할 때까지 메시지를 보냅니다. FIX에서 응답 메시지의 상관 관계를 유지하는 표준 방법은 없습니다. 따라서 InOut 교환의 각 유형에 대해 상관 관계를 정의해야 합니다. Exchange 속성을 사용하여 상관관계 기준 및 타임아웃을 지정할 수 있습니다.

Expand
설명키 문자열주요 ConstantDefault

일치하지 않음

"CorrelationCriteria"

QuickfixjProducer.CORRELATION_CRITERIA_KEY

없음

ECDHEiseconds의 상관 관계 시간 초과

"CorrelationTimeout"

QuickfixjProducer.CORRELATION_TIMEOUT_KEY

1000

상관관계 조건은 MessagePredicate 오브젝트로 정의됩니다. 다음 예에서는 트랜잭션 유형이 STATUS이고 Order ID가 요청과 일치하는 지정된 세션의 FIX ExecutionReport를 처리합니다. 세션 ID는 요청 자의 여야 하며 응답을 검색할 때 발신자 및 대상 CompID 필드가 취소됩니다.

exchange.setProperty(QuickfixjProducer.CORRELATION_CRITERIA_KEY,
    new MessagePredicate(new SessionID(sessionID), MsgType.EXECUTION_REPORT)
        .withField(ExecTransType.FIELD, Integer.toString(ExecTransType.STATUS))
        .withField(OrderID.FIELD, request.getString(OrderID.FIELD)));
Copy to Clipboard Toggle word wrap

270.7.3. 예제

소스 코드에는 소비자 및 생산자의 InOut 교환을 보여주는 RequestReplyECDHE 예제 가 포함되어 있습니다. 이 예제에서는 주문 상태 요청을 허용하는 간단한 HTTP 서버 끝점을 생성합니다. HTTP 요청은 FIX OrderStatusRequestMessage로 변환되고, 상관 조건으로 보강되며, 그러면 빠른 수정 끝점으로 라우팅됩니다. 그러면 응답이 JSON 형식 문자열로 변환되고 웹 응답으로 제공될 HTTP 서버 끝점으로 다시 전송됩니다.

Spring 구성이 Camel 2.9에서 변경되었습니다. 예를 들면 아래를 참조하십시오.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동