属性文件中的变量替换在spring Boot 1.x和apache camel2.x中不起作用

0dxa2lsx  于 2022-11-07  发布在  Apache
关注(0)|答案(1)|浏览(120)

我在www.example.com文件中声明了一个属性application.properties,如下所示

hu.ednpoint=https://${serverhost.name}/subscription/event
de.ednpoint=https://${serverhost.name}/consume/event

我预计${serverhost.name}的值将被api.xfjj.com:443覆盖,但它在访问值camel route时给出了以下结果

.log("{{hu.ednpoint}}")
.log("{{de.ednpoint}}")
.to("{{de.ednpoint}}")
.end()

预期结果:

hu.ednpoint=https://api.xfjj.com:443/subscription/event
de.ednpoint=https://api.xfjj.com:443/consume/event

实际结果:

hu.ednpoint=https:/subscription/event
de.ednpoint=https:/consume/event

我不知道哪里出了问题。如果有人能帮助我解决这个问题,我真的很感激。这个问题发生在camel 2中,但在camel 3中工作正常

fxnxkyjh

fxnxkyjh1#

你能试着用yaml代替属性文件吗?

apiConfig:
    pf:
      host:
        name: api.xfjj.com:443
      uri:
        base:
          admin: https://${apiConfig.pf.host.name}/
        apis:
          orders:
            get:
              subscription: ${apiConfig.pf.uri.base.admin}/suscription/event/
              consume:${apiConfig.pf.uri.base.admin}/consume/event/

相关问题