57장. Bindy
이 구성 요소의 목표는 비정형 데이터(또는 더 정확하게 비 XML 데이터)를 주석으로 정의된 바인딩 매핑이 있는 Java CloudEvents로의 구문 분석/바인딩을 허용하는 것입니다. Bindy를 사용하면 다음과 같은 소스의 데이터를 바인딩할 수 있습니다.
- CSV 레코드,
- 고정 길이 레코드,
- 수정 메시지,
- 거의 모든 비정형 데이터
하나 또는 여러 개의 POJO(Java Object)로 이동합니다. Bindy는 java 속성의 유형에 따라 데이터를 변환합니다. 일부 경우에서 사용 가능한 일대다 관계와 함께 연결할 수 있습니다. 또한 Date,ub, Float, Integer, Short, Long 및 BigDecimal과 같은 데이터 유형의 경우 속성 포맷 중에 적용할 패턴을 제공할 수 있습니다.
BigDecimal 숫자의 경우 정확도와 소수점 또는 그룹화 구분 기호를 정의할 수도 있습니다.
유형 | 형식 유형 | 패턴 예 | link |
---|---|---|---|
날짜 |
|
| https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/SimpleDateFormat.html |
10진수* |
|
| https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/text/DecimalFormat.html |
여기에서 = double, Integer, Float, Short, Long
지원되는 형식
이 첫 번째 릴리스에서는 쉼표로 구분된 값 필드와 키 값 쌍 필드만 지원합니다(예: FIX 메시지).
camel-bindy를 사용하려면 먼저 패키지(예: com.acme.model)에서 모델을 정의하고 각 모델 클래스(예: Order, Client,knative, …)에 필요한 주석을 클래스 또는 필드에 추가해야 합니다.
다중 모델
패키지 이름 대신 클래스 이름을 사용하여 바인딩을 구성할 때 동일한 패키지에 여러 모델을 배치할 수 있습니다.As you configure bindy using class names instead of package names you can put multiple models in the same package.
57.1. 옵션 링크 복사링크가 클립보드에 복사되었습니다!
Bindy dataformat은 아래에 나열된 5가지 옵션을 지원합니다.
이름 | Default | Java Type | 설명 |
---|---|---|---|
type |
| Csv, Fixed 또는 KeyValue를 사용할지 여부입니다. CloudEvent 값:
| |
classType |
| 사용할 모델 클래스의 이름입니다. | |
로케일 |
| 단위 상태의 경우와 같이 사용할 기본 로케일을 구성하려면 다음을 수행합니다. JVM 플랫폼 기본 로케일을 사용하려면 기본값을 사용합니다. | |
unwrapSingleInstance |
| 요약을 해제하는 경우 단일 인스턴스를 래핑 해제하여 java.util.List로 래핑하는 대신 반환해야 합니다. | |
allowEmptyStream |
| 요약되지 않은 프로세스에서 빈 스트림을 허용할지 여부입니다. true인 경우 레코드가 없는 본문이 제공되면 예외가 발생하지 않습니다. |