아파치 카멜 예제

이 자습서에서는 파일을 읽고 내용을 대문자로 변환한 다음 소문자로 다시 변환하는 간단한 Camel 예제를 살펴보겠습니다. 우리는 낙타의 파일 구성 요소와 봄 4.2를 사용할 것입니다. APAC를 사용하여 아파치 낙타는 모델링과 구현 사이의 격차를 좁힙습니다. EIP 모델과 아파치 낙타의 DSL 사이에는 거의 일대일 관계가 있습니다. 경로는 아파치 낙타의 중요한 부분입니다. 통합의 흐름과 논리는 여기에 지정됩니다. 다음 예제에서는 Java DSL을 사용하는 경로를 보여 줍니다. 한 번 살펴보겠습니다. 첫째, 라우팅 및 변환 로직은 이제 전용 아파치 카멜 구성에서만 라이브합니다. 둘째, EIP의 사용과 함께 간결하고 자연스러운 DSL을 통해 시스템 간의 종속성 그림이 나타납니다. 이해할 수 있는 추상화로 만들어졌으며 라우팅 논리를 쉽게 조정할 수 있습니다. 마지막으로 적절한 어댑터가 이미 포함될 가능성이 있으므로 변환 코드 힙을 작성할 필요가 없습니다.

여기 당신이 그루비 대신 자바를 사용하여 아파치 낙타와 함께 시작할 수있는 방법에 대한 자습서를 제공 할 것입니다. 대체 시스템은 스프링 통합 또는 뮬 ESB와 같은 것일 수 있습니다. 스프링 통합의 경우 경량으로 간주되지만 내 경험에 따르면, 그것을 함께 넣고 XML 구성 파일을 많이 작성하는 것은 예기치 않게 복잡할 수 있으며 거의 쉬운 방법이 아닙니다. 뮬 ESB는 견고하고 매우 기능적인 도구 집합이지만 이름에서 알 수 있듯이 엔터프라이즈 서비스 버스이므로 다른 가중치 범주에 속합니다. 뮬은 풍부한 기능을 갖춘 아파치 낙타를 기반으로 한 유사한 제품인 퓨즈 ESB와 비교할 수 있습니다. 나를 위해, 접착 서비스에 대 한 아파치 낙 타를 사용 하 여 오늘 아무 생각이. 사용하기 쉽고, 어디로 가는지에 대한 깔끔한 설명을 생성하는 동시에 복잡한 통합을 구축하기에 충분한 기능성입니다. 그런 다음 원본에서 읽을 데이터의 프로세서를 정의해야 합니다. 이 예제에서는 사용자 지정 프로세서 클래스를 작성합니다. 이 클래스는 표준 낙타 프로세서 인터페이스를 구현하는 스프링 콩이 될 것입니다. Camel Spring XML 확장을 사용하면 스프링을 사용하여 응용 프로그램을 함께 와이어링할 때 매우 간결한 XML 구문을 사용하여 Camel 구성을 설명할 수 있습니다. 아파치 낙타는 URI를 사용하여 HTTP, ActiveMQ, JMS 등과 같은 모든 종류의 전송 또는 메시징 모델과 직접 작업하지만, 처음부터 API는 시스템이 사용하는 전송 프로토콜에 관계없이 동일하게 유지됩니다.

입력, 프로세서 및 출력을 포함하여 이러한 단계를 설정하려면 Camel 컨텍스트 파일에 다음 경로를 추가하십시오: 아파치 카멜의 가장 놀라운 기능은 균일성입니다. 모든 구성 요소는 동일한 구문과 개념을 사용합니다. 모든 통합과 자동 단위 테스트도 동일하게 보입니다. 따라서 복잡성이 많이 줄어듭니다. 위의 예제 변경: 주문을 파일 디렉토리 대신 JMS 큐로 보내야 하는 경우 파일:target/outbox에서 jms:queue:orders로 끝점을 변경하면 됩니다. 그거에요! (JMS는 물론 이전에 응용 프로그램 내에서 한 번 구성해야 합니다.) 아파치 낙타가 클러스터에서 마이크로 서비스를 통합할 수 있는 방법을 보여 주어 나왔습니다. 이 프레임워크의 다른 용도는 무엇입니까? 일반적으로 규칙 기반 라우팅이 해결책이 될 수 있는 모든 장소에서 유용합니다. 예를 들어, 아파치 낙타 이클립스 쿠라 어댑터와 사물 의 인터넷에 대한 미들웨어가 될 수 있습니다. CERN 시스템과 같이 다양한 구성 요소 및 서비스에서 로그 신호를 페리로 하여 모니터링을 처리할 수 있습니다. 또한 엔터프라이즈 SOA의 통합 프레임워크이거나 일괄 처리 데이터 처리를 위한 파이프라인이 될 수도 있지만 이 영역에서 는 아파치 스파크와 잘 경쟁하지 않습니다.

ΚατηγορίεςΧωρίς κατηγορία