Адаптер входящего канала SFTP зависает при получении метода PollableChannel

1

Мой контекст xml читается следующим образом:

<bean id="defaultSftpSessionFactory"
            class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
        <property name="host" value="${host}"/>
        <property name="password" value="${password}"/>
        <property name="port" value="${port}"/>
        <property name="user" value="${username}"/>
    </bean>

        <int-sftp:inbound-channel-adapter id="sftpInbondAdapter"
            session-factory="sftpSessionFactory"
            channel="receiveChannel"
            filename-pattern="*.txt"
            remote-directory="/loblawln"
            local-directory="/local-dir"
            auto-create-local-directory="true"
            temporary-file-suffix=".writing"
            delete-remote-files="false">
        <int:poller fixed-rate="1000" max-messages-per-poll="1"/>
</int-sftp:inbound-channel-adapter>

    <int:channel id="receiveChannel">
        <int:queue/>
    </int:channel>

Файл java читается следующим образом:

PollableChannel localFileChannel = context.getBean("receiveChannel", PollableChannel.class);

        SourcePollingChannelAdapter adapter = context.getBean(SourcePollingChannelAdapter.class);
        adapter.start();
        System.out.println("Adapter started...");

        Message<?> received = localFileChannel.receive();
        System.out.println("Received first file message: " + received);

Я упомянул о реализации, представленной Гэри Расселом в Github, а также последовал за весенними документами для интеграции sftp. Я думаю, что я упускаю что-то важное. Кроме того, журналы также ничего не показывают.

Теги:
spring
spring-integration
sftp

1 ответ

2
Лучший ответ

Проблема была решена путем изменения ключа для чтения имени пользователя. Мне это показалось немного странным, когда я отлаживал код и читал значения в экземпляре defaultSessionFactory, я обнаружил, что он не читает имя пользователя из файла свойств, а читает значение, соответствующее значению, присваиваемому System.getProperty("user.name"). Когда я изменил ключ из {username} на другое, например {sftp.username}, он прочитал его правильно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню