320.7. Spring Java Config
Spring은 XML Config를 사용하여 life를 함께 시작합니다. 그러나 일부 기능에서는 XML 사용을 선호하지 않으며, 대신 Spring JavaConfig 프로젝트와 함께 Guice를 생성하는 Java 코드를 사용합니다.
Camel을 사용하여 XML 또는 Java 구성 접근법을 사용할 수 있습니다. 원하는 대로 선택할 수 있습니다.
320.7.1. Using Spring Java Config 링크 복사링크가 클립보드에 복사되었습니다!
Camel 프로젝트에서 Spring Java Config를 사용하는 가장 쉬운 방법은 pom.xml에 다음을 추가하는 것입니다.
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring-javaconfig</artifactId> <version>${camel-version}</version> </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring-javaconfig</artifactId>
<version>${camel-version}</version>
</dependency>
그러면 Spring JavaConfig 라이브러리에 종속성이 추가되고 Spring 내부에서 Camel을 구성하기 위한 도우미 클래스가 추가됩니다.
이 라이브러리는 전적으로 선택 사항입니다. Java Config와 함께 Camel을 함께 사용할 수 있습니다.
320.7.2. 설정 링크 복사링크가 클립보드에 복사되었습니다!
JavaConfig를 Camel과 함께 사용하는 가장 일반적인 경우는 라우터에서 사용할 경로 목록이 정의된 구성을 생성하는 것입니다.
Camel 2.13.0부터는 routes() 정의를 건너뛰고 Spring 컨텍스트에 있는 RouteBuilder 인스턴스로 돌아갈 수 있습니다.
@Configuration @ComponentScan("com.example.routes") public class MyRouteConfiguration extends CamelConfiguration { }
@Configuration
@ComponentScan("com.example.routes")
public class MyRouteConfiguration extends CamelConfiguration {
}
320.7.3. 테스트 링크 복사링크가 클립보드에 복사되었습니다!
Camel 2.11.0 부터 CamelSpringJUnit4ClassRunner
와 CamelSpringDelegatingTestContextLoader
를 사용할 수 있습니다. Java Config 및 Camel 통합을 테스트하는 것이 좋습니다.
RouteBuilder 인스턴스 컬렉션을 생성하려면 CamelConfiguration 도우미 클래스에서 파생되고 routes() 메서드를 구현합니다. routes() 메서드를 재정의하지 않는 경우 ( Camel 2.13.0부터)는 CamelConfiguration 이 Spring 컨텍스트에서 사용 가능한 모든 RouteBuilder 인스턴스를 사용합니다.
Java Config를 사용하는 다음 예제에서는 Camel 2.10 이하와의 Java Config 통합을 테스트하는 방법을 보여줍니다. JavaConfigContextLoader
는 더 이상 사용되지 않으며 CamelSpringDelegatingTestContextLoader
를 대신하여 Camel의 향후 버전에서 제거될 수 있습니다.
@ContextConfiguration 주석은 Spring Testing 프레임워크에 사용할 구성으로 ContextConfig 클래스를 로드하도록 지시합니다. 이 클래스는 Red Hat의 CamelContext를 구성한 Helper Spring Java Config 클래스인 SingleRouteCamelConfiguration 에서 파생된 다음 생성하는 RouteBuilder를 등록합니다.