#apache-camel
Вопрос:
У меня есть тело,состоящее из чего-то вроде: ОК,ОК,НОК,ОК, НОК, используя Spring DSL. Я хочу подсчитать экземпляры подстроки «ОК» в теле. Я попробовал StringHelper CountChar, но вы можете передать ему только символы.
Есть ли способ подсчитать подстроки в теле, не прибегая к java-компонентам?
Ответ №1:
Вы можете использовать компонент для вызова статического метода, такого как org.apache.commons.lang.StringUtils.количество совпадений, чтобы получить количество совпадений в теле:
from("direct:source")
.bean(StringUtils.class, "countMatches(${body}, OK)")
.to("log:org.orzowei.so.question.q69134695?level=WARN")
.end();
Или с помощью Spring DSL:
<route id="abcRoute" autoStartup="true">
<from uri="direct:source"/>
<bean beanType="org.apache.commons.lang.StringUtils" method="countMatches(${body}, OK)"/>
<to uri="log:org.orzowei.so.question.q69134695?level=WARN"/>
</route>
Комментарии:
1. Спасибо, что уделили мне время, но я ищу решение в Spring DSL (формат XML).