1.4. Starter 설정
명확하고 액세스 가능한 구성은 모든 애플리케이션의 중요한 부분입니다. Camel Starter s는 Spring Boot의 외부 구성 메커니즘을 완전히 지원합니다. 더 복잡한 사용 사례를 위해 Spring>- & lt;s를 통해 구성할 수도 있습니다.
1.4.1. 외부 설정 사용
내부적으로 모든 Starter 는 Spring Boot의 ConfigurationProperties 를 통해 구성됩니다. 각 구성 매개변수는 다양한 방법 (애플리케이션.[properties|json|yaml]
파일, 명령줄 인수, 환경 변수 등)에서 설정할 수 있습니다. 매개 변수의 형식은 camel.[component|anchor|dataformat].[name].[parameter]
예를 들어 설정할 수 있는 ActiveMQ 브로커의 URL을 구성하려면 다음을 수행합니다.
camel.component.activemq.broker-url=tcp://localhost:61616
또는 CSV 데이터 형식의 delimeter
를 설정할 수 있는(;)으로 구성하려면 다음을 수행합니다.
camel.dataformat.csv.delimiter=;
Camel은 속성을 원하는 유형으로 설정할 때 유형 메커니즘을 사용합니다.
#ovn:name을 사용하여 레지스트리의 빈
을 참조할 수 있습니다.
camel.component.jms.transactionManager=#bean:myjtaTransactionManager
일반적으로 Java에서는 다음을 수행합니다.
@Bean("myjtaTransactionManager") public JmsTransactionManager myjtaTransactionManager(PooledConnectionFactory pool) { JmsTransactionManager manager = new JmsTransactionManager(pool); manager.setDefaultTimeout(45); return manager; }
구성 파일에서 빈을 생성할 수도 있지만 복잡한 사용 사례에는 사용하지 않는 것이 좋습니다.
1.4.2. CloudEvents 사용
Starters는 Spring 10.0.0.1s를 통해 생성하고 구성할 수도 있습니다. 시작자를 생성하기 전에 Camel은 이미 존재하는 경우 해당 이름을 사용하여 레지스트리에서 먼저 조회합니다. 예를 들어 Kafka 구성 요소를 구성하려면 다음을 수행합니다.
@Bean("kafka") public KafkaComponent kafka(KafkaConfiguration kafkaconfiguration){ return ComponentsBuilderFactory.kafka() .brokers("{{kafka.host}}:{{kafka.port}}") .build(); }
CloudEvent
이름은 구성 중인 Component, Dataformat 또는 Language의 이름과 같아야 합니다. 주석에
CloudEvent 이름을 지정하지 않으면 메서드 이름으로 설정됩니다.
일반적인 Camel Spring Boot 프로젝트는 외부 구성과 10.0.0.1의 조합을 사용하여 애플리케이션을 구성합니다. Camel Spring Boot 프로젝트를 구성하는 방법에 대한 자세한 내용은 예제 리포지토리 를 참조하십시오.