Я создаю маршрут, используя Java DSL в Camel.
Я хотел бы выполнить замену текста без создания нового процессора или компонента.
У меня есть это:
.setHeader(MY_THING,
constant(my_template.replace("{id1}", simple("${header.subs_val}").getText())))
Если я не добавлять «постоянные» я получаю ошибки несоответствия типов. Если я не поставил getText() в части simple(), я получаю ответы на несоответствие текста. Когда я запускаю свой маршрут, он заменяет {id}
буквами ${header.subs_val}
вместо того, чтобы извлекать мое значение из заголовка. Тем не менее, если я удалю цитаты, я получаю ошибки компиляции; Конечно, Java не знает синтаксиса ${...}
.
Развертывание занимает несколько минут, поэтому эксперименты дороги.
Итак, как я могу просто сделать простую замену. На самом деле я ничего не вижу в Интернете.
EDIT - что такое шаблон? В частности, строка (это URL)
http://this/that/{id1}/another/thing
Я унаследовал некоторый код, поэтому я не могу просто to(...)
URL-адрес и применить специальную .tof()
(??) форматирование.
Что такое my_template в вашем примере? – ltsallas
И как my_templa т. е. связано с обменом? Если вам нравится предоставлять более подробную информацию, я пытаюсь воспроизвести дело. Я понимаю, что вы хотите заменить параметр с именем id в шаблоне содержимым header.subs_val, но я не могу понять, что такое шаблон. – ltsallas
@ltsallas Редактировано –