Я использую сервер потоков данных Spring Cloud и опрашиваю csv-файлы с источником времени и клиентским процессором http.
Теперь я хочу разделить опрошенный CSV-файл и направить отдельные построчные сообщения. Так как HttpClientProcessor опрашивает только целые файлы, я использую процессор FileSplitter для архивирования этого. Но я застрял на этом. Соответствующие параметры FileSplitter delimiters
и expression
.
Подсказка delimiters
опций говорит:
Когда выражение имеет значение null, разделители используются при маркировке полезных нагрузок {@link String}.
Подсказка опций expression
говорит:
Выражение SpEL для разделения полезных нагрузок.
Я испробовал множество возможностей больше, чем просто \n
для обоих вариантов, но безуспешно.
Опция expression
буквально всегда вызывает следующую ошибку:
Failed to bind properties under 'splitter.expression' to org.springframework.expression.Expression:
Property: splitter.expression
Value: \n
Origin: System Environment Property "SPRING_APPLICATION_JSON"
Reason: failed to convert java.lang.String to org.springframework.expression.Expression
Подходы к опции delimiters
приводят к успешному запуску приложений, но мой приемник журналов не получает никакого ввода. Мои параметры разделителя отличаются от того, что распознается как действительный символ «новой строки» в csv.
Кто-нибудь имеет представление о том, какие опции я должен ввести для delimiters
или expression
, чтобы разбить сообщение csv построчно?
Реализация собственного приложения для процессора FileSplitter кажется излишним, но я сделаю это , если потребуется ...