properties - 如何从属性文件中读取值以设置 Spring 或 Blueprint xml 标记的属性值
问题描述
我正在使用 Apache 骆驼蓝图 xml 文件来定义使用 JBoss 熔断器容器的骆驼路线。
但是那些骆驼路由需要数据库连接来执行一些操作,为了连接数据库,我们使用“参考”来查找从同一个 jboss fuse 容器中的其他包或蓝图导出的 osgi 服务。
现在要获得参考,我正在使用这样的参考标签:
<reference id="dataSource.ref" interface="javax.sql.DataSource" filter="(osgi.jndi.service.name=${dataSource.jndi})"/>
dataSource.jndi 在属性/配置文件中正确配置,我们能够从同一属性文件中读取其他属性。
问题是我们是否在标签内使用这些属性,例如这个代理详细信息:
<bean class="org.apache.activemq.ActiveMQConnectionFactory" id="jmsConnectionFactory">
<property name="brokerURL" value="${broker.url}"/>
<property name="userName" value="${broker.user}"/>
<property name="password" value="${broker.password}"/>
</bean>
它工作得很好,但是在读取引用标记的过滤器属性内的属性值 dataSource.jndi 时不起作用。
我尝试了多种可能性,例如:
但是没有任何效果,而且我总是遇到以下错误:
由于未解决的依赖关系而无法启动蓝图 [(&(osgi.jndi.service.name=${dataSource.jndi})(objectClass=javax.sql.DataSource))]
由于未解决的依赖关系而无法启动蓝图 [(&(osgi.jndi.service.name=${{dataSource.jndi}})(objectClass=javax.sql.DataSource))]
由于未解决的依赖关系而无法启动蓝图 [(&(osgi.jndi.service.name={{dataSource.jndi}})(objectClass=javax.sql.DataSource))]
所以唯一的问题是我们如何使用属性文件中的值用于弹簧或蓝图标签的属性,如果我使用常量值一切正常,但我们不需要常量值。
解决方案
推荐阅读
- r - 错误后在 R 中继续循环(使用数字和字母向量的示例)
- android - 尝试注入命名依赖项时出错
- python - 有没有办法将列表作为参数之一传递给 argparse
- ansible - 结合ansible中的when和run_once,会不小心跳过任务
- if-statement - 引用公式中的单元格值(间接)
- c++ - 是否可以在 C++ 中使用带有运算符重载的模板?
- javascript - 如何等待 iframe 完全加载
- c - 语法错误 Fluent UDF 从 Windows 到 Linux
- python - AttributeError:“图像”对象没有属性“缩略图”
- python - 在python中具有相同名称的对象引用不同的id