Как реализовать RSS-канал в качестве источника в Spring XD

Я хочу загружать RSS-каналы, используя Spring XD для хранения в Hadoop. Я использую следующий пример: https://github.com/spring-projects/spring-xd/wiki/Creating-a-Source-Module Поэтому я создал файл feed.xml в каталоге [/usr/local/Cellar/springxd/1.0.0.M7/libexec /xd/modules/source], а позже также в [/usr/local/Cellar/springxd/1.0.0.M7/libexec/xd/modules/source/feed/config/feed.xml], скопировав пример feed.xml файл примера на гитхабе.

В примере github говорится: «В этом разделе рассматривается настройка локального проекта, содержащего некоторый код для тестирования вне контейнера XD. Этот шаг можно пропустить, если вы предпочитаете тестировать модуль путем развертывания в Spring XD».

Я хочу развернуть модуль в Spring XD, используя xd-singlenode и xd-shell. Итак, в xd-shell я попытался создать поток, используя сценарии DSL, такие как

stream create -- name bbcfeed --definition "feed | log" --deploy

В результате я получаю следующее сообщение об ошибке: «Ошибка команды org.springframework.xd.rest.client.impl.SpringXDException: проблема с конфигурацией: невозможно найти Spring NamespaceHandler для пространства имен схемы XML [http://www.springframework.org/schema/integration/feed]Оскорбительный ресурс: URL [файл:/usr/local /Подвал/springxd/1.0.0.M7/libexec/xd/modules/source/feed/config/feed.xml]"

Я проверил наличие схемы springdramework.org. Они существуют.

Что я делаю не так?


person Luc    schedule 09.11.2014    source источник


Ответы (1)


Я проверил наличие схемы springdramework.org. Они существуют.

Я предполагаю, что вы имеете в виду в Интернете - банка, содержащая схему (и классы), должна быть в пути к классам. Вам нужно добавить jar spring-integration-feed и его зависимости в каталог `${XD_HOME}/lib, как описано в документации. Вы также можете скопировать их в каталог lib модуля.

Версия spring-integration-feed должна совпадать с версией других spring-integration-* банок.

Вы также используете старую предварительную веху; Я предлагаю вам перейти на последнюю версию: http://projects.spring.io/spring-xd/ (1.0.1.RELEASE на момент написания).

person Gary Russell    schedule 10.11.2014
comment
Спасибо. Я обновился до последней версии. Кроме того, я получил необходимый файл spring-integration-feed-4.0.2.RELEASE.jar из репозитория Maven и сохранил его в папке lib. Оно работает. Одно замечание: некоторые сайты публикуют поток RSS с URL-адресом, начинающимся с feed://. Внутри DSL эту часть URL-адреса необходимо заменить на http://. Идентификатор протокола feed:// не работает. - person Luc; 11.11.2014
comment
Похоже, это ограничение Java и/или библиотеки Rome; если хотите, вы можете открыть проблему улучшения JIRA, и мы можем добавить возможность исправления схему URI, если это необходимо. - person Gary Russell; 12.11.2014
comment
Хахаха, ты шутишь, я надеюсь. Но спасибо за приглашение. - person Luc; 12.11.2014