apache camel

#apache-camel

#apache-camel

Вопрос:

Я считываю простое содержимое из файла, скажем, «80631». я проверяю его на соответствие регулярному выражению («^ d $»), чтобы проверить, что это просто цифры. Но проверка завершается неудачно. Когда я проверяю содержимое, прочитанное из файла, это что-то вроде «80631». Я попытался обрезать пробелы с помощью, но это не сработало. Есть ли у нас какой-либо другой способ обрезать пробелы?

 <camel:setProperty propertyName="messageId">
  <simple trim="true">${body}</simple>
</camel:setProperty>
  

Комментарии:

1. ${body.trim()}, предложенный Клаусом Ибсеном, сработал для меня. Спасибо.

Ответ №1:

Вероятно, вам следует показать код, чтобы получить лучшую помощь. Но <simple trim="true"> ... </simple> обрезает вывод выражения.

Это не для обрезки тела сообщения.

Вам нужно заранее использовать преобразование сообщения, чтобы обрезать тело сообщения. Или напишите регулярное выражение, которое игнорирует начальные / конечные пробелы.

Комментарии:

1. Спасибо, Ибсен. это мой код <camel:setProperty propertyName=»MessageId»> <простая отделка =»true»>${body}</simple> </camel:setProperty> Когда я извлекаю значение свойства, в нем все еще есть пробелы.

2. Он обрезает пробелы, <simple> например, если вы разбиваете его на несколько строк. Вам нужно сделать ${body.trim()} , если тело имеет строковый тип, или ${bodyAs(String).trim()} если нет.