2015-11-25 1 views
0

Я пытаюсь предоставить путь к файлу ключей PGP-шифрования из свойства.

.setHeader("CamelPGPDataFormatKeyFileName") 
.constant("file:{{devo_keyringUri}}") 

{{devo_keyringUri}} определяется как нечто вроде ${karaf.base}/etc/devKeyring.gpg

я предположил, что ${karaf.base} будет решена компонентом свойств, но это не сработало. Я получаю java.io.FileNotFoundException - ${karaf.base}/etc/devKeyring.gpg

Таким образом, он разрешает местозаполнитель, но не разрешает «вложенную» переменную.

Что мне нужно сделать, чтобы получить разрешенный путь в ${karaf.base}?

Camel Version is 2.13.2 
Karaf Version is 2.3.9 

EDIT

Он также не работает с новыми версиями:

Camel Version is 2.15.3 
Karaf Version is 4.0.1 
+0

Попробуйте обновить Верблюд своей старой версии –

+0

@ClausIbsen Спасибо за подсказку. Теперь попытался с Camel 2.15.3 на Karaf 4.0.1, но также не повезло (такие же результаты, как описано). –

+0

Попробуйте с '{{sys: karaf.base}}/etc/devKeyring.gpg' –

ответ

0

Константа() является не правильный метод здесь. Попробуйте следующее:

setHeader("CamelPGPDataFormatKeyFileName", simple("file:${properties:devo_keyringUri}") 

Дополнительная информация here.

+0

Я пробовал с простым языком, но это не решило проблему (тот же результат). –

+0

Вы уверены, что ваше подстановочное выражение верное? Не используйте обозначение {{}}. –