149.5. Spring Boot 자동 구성
구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.
| 이름 | 설명 | Default | 유형 |
|---|---|---|---|
| camel.dataformat.hl7.content-type-header | 데이터 형식이 이렇게 할 수 있는 경우 데이터 형식의 형식으로 Content-Type 헤더를 설정해야 하는지 여부입니다. 예를 들어 데이터 형식의 애플리케이션/xml은 XML로 마샬링하거나 데이터 형식의 경우 JSon으로 마샬링하는 애플리케이션/json의 경우 애플리케이션/json입니다. | false | 부울 |
| camel.dataformat.hl7.enabled | hl7 데이터 형식 활성화 | true | 부울 |
| camel.dataformat.hl7.validate | HL7 메시지를 확인할지 여부는 기본적으로 true입니다. | true | 부울 |
| camel.language.terser.enabled | 더 언어 활성화 | true | 부울 |
| camel.language.terser.trim | 선행 공백 및 줄 바꿈을 제거하는 값을 트리밍할지 여부 | true | 부울 |
ND
-
Marshal= Message에서 바이트 스트림까지 (HL7 MLLP codec를 사용하여 응답할 때 사용할 수 있음) -
unmarshal= 바이트 스트림에서 메시지로 (HL7 MLLP에서 스트리밍된 데이터를 수신할 때 사용할 수 있음)
데이터 형식을 사용하려면 인스턴스를 인스턴스화하고 경로 빌더에서 마샬링 또는 unmarshal 작업을 호출하면 됩니다.
DataFormat hl7 = new HL7DataFormat();
from("direct:hl7in")
.marshal(hl7)
.to("jms:queue:hl7out");
위의 샘플에서 HL7은 HAPI Message 개체에서 바이트 스트림으로 마샬링되고 JMS 큐에 배치됩니다.
다음 예제는 그 반대입니다.
DataFormat hl7 = new HL7DataFormat();
from("jms:queue:hl7out")
.unmarshal(hl7)
.to("patientLookupService");
여기서 바이트 스트림을 환자 조회 서비스에 전달되는 HAPI Message 오브젝트로 고정합니다.
149.5.1. 직렬화 가능 메시지 링크 복사링크가 클립보드에 복사되었습니다!
HAPI 2.0( Camel 2.11에서 사용)부터 HL7v2 모델 클래스는 완전히 직렬화할 수 있습니다. 따라서 HL7v2 메시지를 JMS 큐에 직접 배치할 수 있습니다(즉, marshal() 를 호출하지 않고 대기열에서 직접 읽을 수 있습니다(즉, unmarshal() 을 호출하지 않고).
149.5.2. 세그먼트 구분자 링크 복사링크가 클립보드에 복사되었습니다!
Camel 2.11 부터unmarshal 은 \n 을 \r 로 변환하여 세그먼트 구분자를 자동으로 수정하지 않습니다. 이 변환이
필요한 경우 org.apache.camel.component.hl7.HL7#convertLFToCR 은 이 목적을 위해 편리한 표현식 을 제공합니다.
149.5.3. charset 링크 복사링크가 클립보드에 복사되었습니다!
Camel 2.14.1 부터 마샬링 및 unmarshal 은 MSH-18 필드에 제공된 charset을 평가합니다. 이 필드가 비어 있으면 기본적으로 해당 Camel charset 속성/header에 포함된 charset으로 가정합니다. HL7DataFormat 클래스에서 상속할 때 guessCharsetName 메서드를 재정의하여 이 기본 동작을 변경할 수도 있습니다.
Camel에는 일반적으로 사용되는 잘 알려진 데이터 형식을 위한 단축 구문이 있습니다. 그러면 HL7DataFormat 오브젝트의 인스턴스를 생성할 필요가 없습니다.
from("direct:hl7in")
.marshal().hl7()
.to("jms:queue:hl7out");
from("jms:queue:hl7out")
.unmarshal().hl7()
.to("patientLookupService");