59.6. 設定プロパティー

Camel がプロパティープレースホルダーを解決するために使用する設定プロパティーのソースを設定するには、@Named("properties") で修飾された PropertiesComponent Bean を宣言できます。

@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 Bean を宣言できます。

@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 の 例を参照してください。