49.8. 5. 메시지
Message 주석은 키 값 쌍 필드를 포함할 모델의 클래스를 식별하는 데 사용됩니다. 이러한 형식은 주로 financial Exchange Protocol Message(FIX)에서 사용됩니다. 그러나 이 주석은 데이터를 키로 식별하는 다른 형식에 사용할 수 있습니다. 키 쌍 값은 탭 구분기 (unicode representation : \u0009)와 같은 특수 문자 또는 제목 시작 (unicode representation : \u0001)으로 서로 분리됩니다.
*"FIX information"*
FIX에 대한 자세한 내용은이 웹 사이트에서 찾을 수 있습니다 : http://www.fixprotocol.org/. FIX 메시지 작업을 위해 모델에는 Order 클래스일 수 있는 루트 메시지 클래스에 연결된 Header 및 Trailer 클래스가 포함되어야 합니다. 이는 필수 사항은 아니지만 quickFix 프로젝트 http://www.quickfixj.org/ 를 기반으로 하는 수정 게이트웨이인 camel-fix와 함께 camel-bindy를 사용할 때 매우 유용합니다.
주석 이름 | 레코드 유형 | level |
---|---|---|
메시지 | 키 값 쌍 | 클래스 |
매개변수 이름 | type | 정보 |
---|---|---|
pairSeparator | string | 필수 - '=' 또는 ';' 또는 'anything'일 수 있습니다. |
keyValuePairSeparair | string | 필수 - '\u0001', '\u0009', '#' 또는 'anything'일 수 있습니다. |
CRLF | string | 선택 사항 - 가능한 값 = CryostatDOWS,MAC 또는 사용자 지정; 기본값 = CryostatDOWS - 사용할 반환 문자를 정의할 수 있습니다. 이전에 나열된 세 가지 이외의 값을 지정하면 입력하는 값(사용자 정의)이 CRLF 문자로 사용됩니다. |
type | string | 선택 사항 - 메시지 유형을 정의합니다(예: FIX, EMX, …) |
version | string | 선택 사항 - 메시지의 버전 (예: 4.1) |
isOrdered | boolean | 선택 사항 - default value = false - FIX 메시지가 생성될 때 필드 순서를 변경할 수 있습니다. 이 주석은 모델의 메시지 클래스에 연결되며 한 번 선언해야 합니다. |
case 1 : separator = 'u0001'
FIX 메시지에서 키 값 쌍 필드를 분리하는 데 사용되는 구분 기호는 ASCII '01' 문자이거나 유니코드 형식 '\u0001'입니다. Java 런타임 오류를 방지하려면 이 문자를 두 번 이스케이프해야 합니다. 예를 들면 다음과 같습니다.
8=FIX.4.1 9=20 34=1 35=0 49=INVMGR 56=BRKR 1=BE.CHM.001 11=CHM0001-01 22=4 ...
주석 사용 방법
FIX - 메시지
@Message(keyValuePairSeparator = "=", pairSeparator = "\u0001", type="FIX", version="4.1") public class Order { }
*Look at test cases*
tab, …과 같은 ASCII 문자는 mightKI 페이지에 표시할 수 없습니다. 따라서 camel-bindy의 테스트 사례를 살펴보고 FIX 메시지 (src\test\data\fix\fix.txt)와 주문, Trailer, Header 클래스 (src\test\java\org\apache\camel\dataformat\bindy\simple\Order.java)와 정확히 어떻게 표시되는지 확인하십시오.