60.6. 配置属性
要配置 Camel 用于解析属性占位符的配置属性的来源,您可以使用 @Named ("properties")声明 PropertiesComponent bean qualified of @Named ("properties"),例如:
@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 应用程序的工作示例。