Ошибка доступа к свойствам env с помощью Camel в JBoss Fuse 6.3 на JBoss EAP 6.4 - PullRequest
0 голосов
/ 18 декабря 2018

Я работаю с Apache Camel и JBoss Fuse 6.3 на JBoss EAP 6.4.Я хотел бы получить доступ к свойствам среды через Spring DSL (как, например, домашнее местоположение JBoss Fuse), но я получаю ошибку: со следующим кодом

<camel:setProperty id="_setProperty1" propertyName="provaProp">
   <camel:simple>${env:JBOSS_FUSE_HOME}</camel:simple>
</camel:setProperty>

Я получаю эту ошибку

Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: Unknown function: env:JBOSS_FUSE_HOME at location 0

Изменение JBOSS_FUSE_HOME в JBOSS_EAP доме не решает

<camel:setProperty id="_setProperty1" propertyName="provaProp">
   <camel:simple>${env:JBOSS_EAP_HOME}</camel:simple>
</camel:setProperty>

Caused by: org.apache.camel.language.simple.types.SimpleIllegalSyntaxException: Unknown function: env:JBOSS_EAP_HOME at location 0

В чем проблема?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Простая языковая функция для переменных ENV, к сожалению, была создана как стиль sysenv.XXX, поэтому используйте

<camel:simple>${sysenv.JBOSS_FUSE_HOME}</camel:simple>

http://camel.apache.org/simple

Заполнители свойств, с другой стороны (нетак же, как и просто), поддерживает env, что можно сделать в стиле {{env:xxx}}:

<camel:simple>{{env:JBOSS_FUSE_HOME}}</camel:simple>

И так как его можно посмотреть только один раз, вы можете использовать константу, если хотите:

<camel:constant>{{env:JBOSS_FUSE_HOME}}</camel:constant>

http://camel.apache.org/using-propertyplaceholder.html

0 голосов
/ 19 декабря 2018

Должен признать, что я отвечаю от макушки головы, вы пробовали:

<camel:setProperty id="_setProperty1" propertyName="provaProp">
   <camel:simple>{{env:JBOSS_FUSE_HOME}}</camel:simple>
</camel:setProperty>
...