Верблюжий текстовый файл для sql-разработчика - PullRequest
0 голосов
/ 19 июня 2019

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

from("file:/tmp/input?move=./done")
        .process(new MyLogProcessor())
        .bean(new MyTransformer(), "TransformContent")
        // write it to this output
        .to("sql:select * from articles where category = #"");

Есть ли какое-нибудь приложение hello world для переноса из текстового файла в sql dev, которое я вижу, чтобы понять, как все это работает?

Спасибо

Ответы [ 2 ]

1 голос
/ 21 июня 2019

Не ясно, нужно ли вам анализировать содержимое файла в SQL, но вам нужно преобразовать тело в строку:

from("file:/tmp/input?move=./done")
        .process(new MyLogProcessor())

        ... What ever you want here

        .convertBodyTo(String.class)
        .to("sql:select * from articles where category = #"");
1 голос
/ 19 июня 2019

Вы должны transform вывод файла в строку. Что-то вроде:

@Override
public void configure() throws Exception {
    from("file:/tmp/input?move=./done")
    .log("order content: ${body}")
    .transform(new Expression() {

        @Override
        public <T> T evaluate(Exchange exchange, Class<T> type) {
            String body = exchange.getIn().getBody(String.class);
            return (T) body;
        }

    })
    .to("sql:select * from articles where category = #?dataSource=myDS")
    .log("query content: ${body}");
}

Я добавил журнал, чтобы увидеть, как выполняется результат каждого шага.

...