59.6. 구성 속성

속성 자리 표시자를 해결하기 위해 Camel에서 사용하는 구성 속성의 소싱을 구성하려면 @Named("properties") 로 자격을 갖춘 PropertiesComponent 빈을 선언할 수 있습니다. 예를 들면 다음과 같습니다.

@Produces
@ApplicationScoped
@Named("properties")
PropertiesComponent propertiesComponent() {
    Properties properties = new Properties();
    properties.put("property", "value");
    PropertiesComponent component = new PropertiesComponent();
    component.setInitialProperties(properties);
    component.setLocation("classpath:placeholder.properties");
    return component;
}

DeltaSpike 구성 메커니즘 을 사용하려면 다음 PropertiesComponent 빈을 선언할 수 있습니다.

@Produces
@ApplicationScoped
@Named("properties")
PropertiesComponent properties(PropertiesParser parser) {
    PropertiesComponent component = new PropertiesComponent();
    component.setPropertiesParser(parser);
    return component;
}

// PropertiesParser bean that uses DeltaSpike to resolve properties
static class DeltaSpikeParser extends DefaultPropertiesParser {
    @Override
    public String parseProperty(String key, String value, Properties properties) {
        return ConfigResolver.getPropertyValue(key);
    }
}

DeltaSpike 구성 메커니즘을 사용하는 Camel CDI 애플리케이션의 작동 예시에 대한 camel-example-cdi-properties 예제를 확인할 수 있습니다.