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 应用程序的工作示例。