java - brokerURL 语法我不清楚
问题描述
有人能帮我理解这个 ActiveMQConnectionFactory bean 上的语法吗?3个选项有什么用?什么是逻辑?
DU_MESSAGING_SERVER_URL(我们系统上的系统参数) MESSAGING_SERVER_URL(我们系统上的系统参数)tcp://localhost:61917
<property name="brokerURL" value="${DU_MESSAGING_SERVER_URL:${MESSAGING_SERVER_URL:tcp://localhost:61917}}"/>
解决方案
此语法${}
用于将系统或环境属性加载到配置文件中。
这在您可能不想修改配置文件而只想设置系统属性(例如在测试环境和产品之间移动)的情况下很有用。您只需将系统属性的名称放在配置文件中,该属性的值将在加载配置时被替换。例如,您可以${foo}
在配置文件中使用,然后定义此系统属性-Dfoo=bar
,然后该值bar
将在您的配置文件中使用。
:
如果未设置系统属性,则该字符定义默认值。例如,您可以${foo:defaultFoo}
在配置文件中使用,然后如果未定义foo
系统属性,则该值将在您的配置文件中使用。defaultFoo
在你的情况下,这些想法被嵌套在一起。因此,如果您使用${DU_MESSAGING_SERVER_URL:${MESSAGING_SERVER_URL:tcp://localhost:61917}}
,则DU_MESSAGING_SERVER_URL
系统属性的值将在配置中使用。如果DU_MESSAGING_SERVER_URL
未定义,${MESSAGING_SERVER_URL:tcp://localhost:61917}
则将评估哪个将使用MESSAGING_SERVER_URL
配置中系统属性的值。如果MESSAGING_SERVER_URL
未定义,tcp://localhost:61917
则将使用。
推荐阅读
- spring-boot - 捕捉异常 Feign
- c# - 手动将 url 与 .NET Core 3.0 中的注册端点匹配
- python - 将 numpy 浮点值合并到一个列表中
- r - R 矩阵包:稀疏矩阵的 dgCMatrix 类中属性的含义
- javascript - 如何在 ASP.net (.aspx) 中 5 分钟后显示按钮?
- javascript - 合并同级数组
- c++ - 为什么 min_element() 返回最小元素的索引,而不是迭代器?
- aws-cdk - 如何执行准备工件所需的命令
- swift - 在 Swift 中使用 Prize Enum 和扩展
- bash - Apache Zeppelin ZeppelinContext 未按预期工作