Невозможно получить одинарные кавычки из XML-конфигурации Apache Camel Route для метода Java - PullRequest
0 голосов
/ 26 сентября 2018

Я определяю маршрут верблюда Apache с использованием конфигураций XML и хочу вызвать метод при передаче параметров в одинарных кавычках:

<bean ref="cmdExecutor" method="execute('BatchQA.bat',
        './input/CamelCMDFile/QATestScripts/', 'Analytics,&apos;qa.user&apos;')"/>

Метод execute выглядит следующим образом:

public int execute(String bat, String dir, String arguments, Exchange exchange) {
    String[] args = arguments.split(",");
    result = ProcessUtils.cmdExecute(bat, dir, args);
    .....

Я пытался использовать &apos;, &#39; and &#x27;, чтобы получить требуемый результат, но ни один не помог.Эти символы просто игнорируются в объекте arguments, а остальная часть строки принимается как она есть в моей функции Java.

После применения решения @Screwtape, аргумент я получаю &apos;qa.user&apos;, и этоне то, к чему я стремлюсь.

Спасибо.:)

1 Ответ

0 голосов
/ 27 сентября 2018

Я не уверен, что Camel делает с этими строками, заключенными в одинарные кавычки, потому что казалось, что апострофы просто зачищают, если вы цитируете апострофы, так что параметры, которые я ожидал вызвать ошибки, просто сработали.

Тем не менее, я получил его на работу, как вам требуется.Вам нужно поменять типы цитат.XML допускает как одинарные, так и двойные кавычки в атрибутах, хотя затмение, кажется, не окрашивает атрибуты в одинарных кавычках (но этот сайт делает).

Следовательно, когда я использую

<camel:bean ref="testBean" method='test("BatchQA.bat",
    "./input/CamelCMDFile/QATestScripts/", "Analytics,&apos;qa.user&apos;")' />

myТестовый бин выделяет строки так, как вы хотели:

[WARN ]: beans.testBean - Analytics
[WARN ]: beans.testBean - 'qa.user'

, хотя я не знаю, возможно ли иметь такую ​​строку с одинарными и двойными кавычками.Будем надеяться, что вам это не нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...