1.4. Camel 마이그레이션 고려 사항


Red Hat Fuse는 Apache Camel 2.23을 사용합니다. Fuse 7.8로 업그레이드할 때 Camel 2.22 및 2.23에 대한 다음 업데이트를 고려해야 합니다.

Camel 2.22 업데이트

  • Camel이 Spring Boot v1에서 v2로 업그레이드되었으므로 v1은 더 이상 지원되지 않습니다.
  • Spring Framework 5로 업그레이드 Camel은 Spring 4.3.x와도 함께 작동해야 하지만 향후 Spring 5.x는 향후 릴리스에서 최소 Spring 버전이 될 것입니다.
  • Karaf 4.2로 업그레이드했습니다. Camel을 Karaf 4.1에서 실행할 수 있지만 이 릴리스에서 Karaf 4.2만 공식적으로 지원합니다.
  • toD DSL을 사용하여 최적화하여 가능한 구성 요소에 대해 끝점 및 생산자를 재사용합니다. 예를 들어 HTTP 기반 구성 요소는 동일한 호스트로 전송되는 동적 URI와 함께 생산자(HTTP 클라이언트)를 재사용합니다.
  • 이제 read-lock idempotent/idempotent-changed가 있는 File2 소비자는 이제 파일이 in-process로 간주될 때 릴리스 작업을 지연하도록 구성할 수 있습니다. 이 파일은 프로세스 내/활성 클러스터 설정에서 사용 가능하며, 다른 노드에서 처리된 파일을 처리할 수 있는 파일로 너무 빠르게 표시되지 않도록 합니다(RemoveOnCommit=true).
  • 요청/응답 모드에서 Netty4 프로듀서에서 사용자 정의 요청/일반 상관 ID 관리자 구현을 플러그인할 수 있습니다. 이제 Twitter 구성 요소에서 확장 모드를 사용하여 140자를 초과한 event를 지원합니다.
  • rest DSL 생산자는 이제 endpointProperties를 사용하여 REST 구성에서 구성할 수 있습니다.
  • Kafka 구성 요소에서는 Camel과 Kafka 메시지 간의 헤더 매핑을 제어하기 위한 사용자 지정 구현을 플러그인하도록 HeaderFilterStrategy를 지원합니다.
  • REST DSL은 이제 클라이언트 요청 검증을 지원하여 REST 서비스에 Content-Type/Accept 헤더가 가능한지 확인합니다.
  • Camel에는 Camel 구현 또는 Spring Cloud를 사용하여 서비스 레지스트리(예: consul, etcd 또는 Zookeeper)에 경로를 등록할 수 있는 Service Registry SPI가 있습니다.
  • SEDA 구성 요소의 기본 대기열 크기는 무제한이 아닌 1000입니다.
  • 다음과 같은 중요한 문제가 해결되었습니다.

    • CXF 연속 시간제한 문제가 camel-cxf 소비자와 관련된 수정으로 인해 소비자가 시간 초과를 트리거하는 대신 데이터가 포함된 응답을 반환하도록 할 수 있습니다.
    • 고정 camel-cxf 소비자는 강력한 단방향 작업을 사용할 때 UoW를 릴리스하지 않습니다.
    • AdviceWith를 사용하여 수정되었으며 onException에서 weave 메서드를 사용하는 경우 작동하지 않습니다.
    • 병렬 처리 및 스트리밍 모드에서 고정 Splitter는 메시지 본문을 차단하는 동안 처음으로 호출된 next() 메서드 호출에서 예외를 발생시킬 때 차단될 수 있습니다.
    • autoCommitEnable=false인 경우 Kafka 소비자가 자동 커밋되지 않도록 수정했습니다.
    • 고정 파일 소비자는 기본적으로 markerFile을 읽기 잠금으로 사용했으며 이는 none이어야 했습니다.
    • Kafka와의 수동 커밋을 사용하여 이전 레코드 오프셋이 아닌 현재 레코드 오프셋을 제공합니다(및 먼저 -1).
    • Java DSL의 고정 콘텐츠 기반 라우터는 서술자가 있는 경우 속성 자리 표시자를 확인하지 않을 수 있습니다.

Camel 2.23 업데이트

  • Spring Boot 2.1으로 업그레이드했습니다.
  • 이제 Spring-boot 자동 구성을 사용하여 추가 구성 요소 수준 옵션을 구성할 수 있습니다. 이러한 옵션은 Spring-boot 구성 요소 메타데이터 JSON 파일 설명자에 포함되어 있습니다.
  • 모든 구성 요소, 데이터 형식 및 언어에 대한 모든 Spring Boot 자동 구성 옵션이 포함된 문서 섹션을 추가했습니다.
  • 모든 Camel Spring Boot Starter JAR에는 Spring Boot 자동 구성을 최적화하기 위해 JAR에 META-INF/spring-autoconfigure-metadata.properties 파일이 포함되어 있습니다.
  • Throttler는 동적 표현식을 기반으로 한 상관관계 그룹을 지원하여 다양한 제한 세트로 메시지를 그룹화할 수 있습니다.
  • Hystrix EIP는 이제 Camel의 오류 처리기에 대한 상속을 허용하므로 재전송을 통해 오류 처리를 활성화한 경우 전체 Hystrix EIP 블록을 다시 시도할 수 있습니다.
  • SQL 및 ElSql 소비자는 이제 경로 양식에서 동적 쿼리 매개변수를 지원합니다. 이 기능은 간단한 표현식을 사용하여 빈을 호출하도록 제한됩니다.
  • swagger-restdsl maven 플러그인은 이제 Swagger 사양 파일에서 DTO 모델 클래스 생성을 지원합니다.
  • 다음과 같은 중요한 문제가 해결되었습니다.

    • Aggregator2는 모든 그룹의 강제 완료를 위해 제어 헤더를 전파하지 않도록 수정되었으므로 라우팅 중에 다른 집계기 EIP가 나중에 사용 중인 경우 다시 발생하지 않습니다.
    • 오류 처리기에서 재전송이 실행된 경우 고정 추적기가 작동하지 않습니다.
    • XML 문서에 대한 기본 제공 유형 변환기는 구문 분석 오류를 stdout에 출력할 수 있으며 로깅 API를 사용하여 출력하도록 수정되었습니다.
    • 메시지 본문이 스트리밍 기반인 경우 charset 옵션을 사용하여 파일을 작성하여 파일을 작성하는 것이 작동하지 않습니다.
    • 여러 경로를 통해 라우팅할 때 재사용되지 않도록 Zipkin 루트 ID를 수정하여 단일 상위 범위로 그룹화합니다.
    • HTTP 끝점을 사용할 때 숫자가 있는 IP 주소가 포함된 경우 버그가 있었습니다.
    • 임시 대기열을 통해 요청/거부하고 수동 승인 모드를 사용하는 RabbitMQ의 문제를 해결했습니다. 임시 큐(요청/응답 가능)를 인식하지 못합니다.
    • Allow 헤더 for OPTIONS 요청(예: rest-dsl 사용 시)에서 허용되는 모든 HTTP 동사를 반환하지 않을 수 있는 다양한 HTTP 소비자 구성 요소가 수정되었습니다.
    • FluentProducerTemplate에서 thread- Cryostat 문제를 해결했습니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.