Apache верблюд из FTP в базу данных - PullRequest
0 голосов
/ 22 мая 2011

Можно ли решить следующий сценарий с верблюдом apache:

Чтение из ftp (периодически), получение zip-файла, содержащего xml, сохранение этого xml в базе данных.

Главный вопрос в том, какие функции существуют в верблюде, и какие функции и нужно писать самостоятельно?

1 Ответ

4 голосов
/ 23 мая 2011

Да, ваш маршрут может выглядеть примерно так (вне головы):

JaxbDataFormat jaxb = new JaxbDataFormat("com.example.foobar");

from("ftp://user:pass@server:21/inbox")
    .unmarshal().zip()
    .split(xpath("//foo"))
    .unmarshal(jaxb)
    .to("jpa:com.example.foobar.Foo")

Это будет опросить FTP-сервер, распаковать файлы, разделить содержимое на фрагменты XML, преобразовать их в объекты JPA и, наконец, сохранить эти объекты в базе данных. Возможны многие варианты, в зависимости от вашего варианта использования вы можете опустить EIP сплиттера или, например, выбрать другой механизм сохранения (MyBatis, Spring-JDBC и т. Д.).

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