226장. MLLP 구성 요소


Camel 버전 2.17로 사용 가능

MLLP 구성 요소는 MLLP 프로토콜의 뉘앙스를 처리하고 MLLP 프로토콜을 사용하여 다른 시스템과 통신하는 데 필요한 기능을 제공하도록 특별히 설계되었습니다.  MLLP 구성 요소는 간단한 구성 URI, 자동화된 HL7 인식 생성 및 자동 승인 통신을 제공합니다.

MLLP 프로토콜은 일반적으로 다수의 동시 TCP 연결을 사용하지 않습니다 - 단일 활성 TCP 연결은 일반적인 경우입니다.  따라서 MLLP 구성 요소는 표준 Java 소켓을 기반으로 하는 간단한 스레드당 연결 모델을 사용합니다. 따라서 구현을 간단하게 유지하고 Camel 자체 이외의 종속성을 제거합니다.

구성 요소는 다음을 지원합니다.

  • TCP 서버를 사용하는 Camel 소비자
  • TCP 클라이언트를 사용하는 Camel 생산자

MLLP 구성 요소는 byte[] 페이로드를 사용하며 Camel Type 변환에 의존하여 바이트[]를 다른 유형으로 변환합니다.  

Maven 사용자는 이 구성 요소를 위해 다음 종속성을 pom.xml에 추가해야 합니다.

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-mllp</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

226.1. MLLP 옵션

MLLP 구성 요소는 아래 나열된 5 가지 옵션을 지원합니다.

이름설명기본값유형

logPhi (advanced)

PHI 데이터를 로깅하도록 구성 요소를 설정합니다.

true

부울

logPhiMaxBytes (advanced)

로그 항목에 로그인할 최대 PHI의 바이트 수를 설정합니다.

5120

정수

defaultCharset (advanced)

바이트에 사용할 기본 문자를 문자열 변환으로 /에서 사용하도록 설정합니다.

ISO-8859-1

문자열

구성 (일반)

MLLP 엔드포인트를 생성할 때 사용할 기본 구성을 설정합니다.

 

MllpConfiguration

resolveProperty Placeholders (advanced)

구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders.

true

boolean

MLLP 끝점은 URI 구문을 사용하여 구성됩니다.

mllp:hostname:port

다음 경로 및 쿼리 매개변수를 사용합니다.

226.1.1. 경로 매개 변수(2 매개변수):

이름설명기본값유형

호스트 이름

TCP 연결에 필요한 호스트 이름 또는 IP입니다. 기본값은 null이며, 이는 로컬 IP 주소를 의미합니다.

 

문자열

port

TCP 연결에 필요한 포트 번호

 

int

226.1.2. 쿼리 매개변수(27 매개변수):

이름설명기본값유형

autoAck (일반)

MLLP Acknowledgement MLLP 소비자의 자동 생성을 활성화/비활성화하기만 하면 됩니다.

true

boolean

bufferWrites (일반)

더 이상 소켓에 쓰기 전에 HL7 페이로드의 버퍼링을 활성화/비활성화합니다.

false

boolean

hl7Headers (일반)

HL7 메시지 MLLP Consumers에서만 메시지 헤더 자동 생성을 활성화/비활성화

true

boolean

requireEndOfData (common)

MLLP 표준에 대한 엄격한 준수를 활성화/비활성화합니다. MLLP 표준은 START_OF_BLOCKhl7 페이로드END_OF_BLOCKEND_OF_OF_DATA를 지정하지만 일부 시스템에서는 최종 END_OF_DATA 바이트를 보내지 않습니다. 이 설정은 최종 END_OF_DATA 바이트가 필요한지 여부를 제어합니다.

true

boolean

stringPayload (일반)

페이로드를 문자열로 변환/비활성화합니다. 활성화하면 외부 시스템에서 수신된 HL7 Payloads의 유효성이 검증됩니다. charsetName 속성이 설정되면 해당 문자 집합이 변환에 사용됩니다.If the charsetName property is set, that character set will be used for the conversion. charsetName 속성이 설정되지 않은 경우 MSH-18의 값을 사용하여 적절한 문자 세트를 제한합니다. MSH-18이 설정되지 않은 경우 기본 ISO-8859-1 문자 집합이 사용됩니다.

true

boolean

validatePayload (common)

HL7 Payloads의 유효성 검사를 활성화/비활성화하면 외부 시스템에서 수신된 HL7 Payloads가 검증될 것입니다(검증에 대한 자세한 내용은 Hl7Util.generateInvalidPayloadExceptionMessage 참조). 유효하지 않은 페이로드가 감지되면 MllpInvalidMessageException(사용자의 경우) 또는 MllpInvalidAcknowledgementException이 throw됩니다.

false

boolean

bridgeErrorHandler (consumer)

소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 수신하려고 하는 동안 예외가 발생한 것을 의미합니다. 이제 메시지로 처리되어 라우팅 오류 핸들러에서 처리합니다. 비활성화된 경우 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 로깅하고 무시함으로써 예외를 처리합니다.

true

boolean

예외 처리기 (consumer)

소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다.

 

ExceptionHandler

exchangePattern (consumer)

소비자가 교환을 생성할 때 교환 패턴을 설정합니다.

InOut

ExchangePattern

synchronous (advanced)

동기 처리를 엄격하게 사용해야 하는지 여부를 설정합니다(이 구성 요소는 동기 작업만 지원).

true

boolean

backlog (tcp)

들어오는 연결 표시의 최대 대기열 길이(연결 요청)는 backlog 매개 변수로 설정됩니다. 대기열이 가득 차 있을 때 연결 표시가 도착하면 연결이 거부됩니다.

5

정수

lenientBind (tcp)

TCP Server Only - TCP ServerSocket이 바인딩되기 전에 끝점을 시작할 수 있습니다. 일부 환경에서는 TCP ServerSocket이 바인딩되기 전에 엔드포인트가 시작되도록 하는 것이 바람직할 수 있습니다.

false

boolean

maxConcurrentConsumers (tcp)

허용되는 최대 MLLP Consumer 연결 수입니다. 새 연결이 수신되고 최대값이 이미 설정된 경우 새 연결이 즉시 재설정됩니다.

5

int

reuseAddress (tcp)

SO_REUSEADDR 소켓 옵션을 활성화/비활성화합니다.

false

부울

acceptTimeout (timeout)

TCP 연결 TCP 서버를 기다리는 동안 시간 초과(밀리초)

60000

int

bindRetryInterval (timeout)

TCP 서버 전용 - 바인딩 시도 사이에 대기하는 시간(밀리초)

5000

int

bindTimeout (timeout)

TCP 서버 전용 - 서버 포트에 대한 바인딩을 재시도하기 위한 밀리초 수입니다.

30000

int

ConnectTimeout (timeout)

TCP 연결 TCP 클라이언트에 대해서만 설정의 시간 초과(밀리초 단위)

30000

int

idleTimeout (timeout)

클라이언트 TCP 연결이 재설정되기 전에 허용되는 대략적인 유휴 시간. null 값 또는 0보다 작거나 같은 값은 유휴 타임아웃을 비활성화합니다.

 

정수

maxReceiveTimeouts (timeout)

더 이상 사용되지 않는 경우 TCP Connection이 재설정되기 전에 허용되는 최대 시간 초과( receiveTimeout에 의해 지정됨)입니다.

 

정수

keepalive (tcp)

SO_KEEPALIVE 소켓 옵션을 활성화/비활성화합니다.

true

부울

receiveBufferSize (tcp)

SO_RCVBUF 옵션을 지정된 값(바이트 단위)으로 설정합니다.

8192

정수

sendBufferSize (tcp)

SO_SNDBUF 옵션을 지정된 값(바이트 단위)으로 설정합니다.

8192

정수

tcpNoDelay (tcp)

TCP_NODELAY 소켓 옵션을 활성화/비활성화합니다.

true

부울

readTimeout (timeout)

MLLP 프레임이 시작된 후 사용되는 SO_TIMEOUT 값 (밀리초)

5000

int

receiveTimeout (timeout)

MLLP 프레임의 시작을 기다릴 때 사용되는 SO_TIMEOUT 값 (밀리초)

15000

int

charsetName (codec)

교환에서 CamelCharsetName 속성 설정

 

문자열

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.