скопировать файл с помощью Spring интеграции - PullRequest
0 голосов
/ 04 февраля 2011

как бы вы скопировали файл из одного места в другое, используя интеграцию Spring. в моем случае я хочу скопировать файл вне войны внутрь войны. вот фрагмент кода, о котором я думаю:

<?xml version="1.0" encoding="UTF-8"?>

<beans:beans xmlns:beans="http://www.springframework.org/schema/beans" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://www.springframework.org/schema/integration"
             xmlns:file="http://www.springframework.org/schema/integration/file"
             xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                                 http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-1.0.xsd
                                 http://www.springframework.org/schema/integration/file http://www.springframework.org/schema/integration/file/spring-integration-file-1.0.xsd
                                 http://www.springframework.org/schema/integration/mail http://www.springframework.org/schema/integration/mail/spring-integration-mail-1.0.xsd
             ">

<poller max-messages-per-poll="1" id="defaultPoller" default="true">
    <interval-trigger interval="1000"/>
</poller>


<file:inbound-channel-adapter id="filesIn"    
                              filename-pattern="ha-jdbc-cluster1.xml"
                              directory="file:/etc/****/" />


<file:outbound-channel-adapter id="filesOut" directory="classpath:/WEB-INF/classes" />

но позорно это не работает. кто-нибудь знает как это сделать?

спасибо заранее .....

Ответы [ 2 ]

1 голос
/ 04 февраля 2011

Я думаю, что проблема связана с целевым каталогом. Вы используете префикс "classpath:", который нельзя использовать для записи файлов, а только для чтения.

Пожалуйста, дайте нам знать, чего вы пытаетесь достичь, скопировав файл для этого пути, и мы попытаемся придумать другой подход, чтобы сделать то же самое.

0 голосов
/ 08 февраля 2011

каталог в файле: inbound-file-adapter должен быть чем-то, что может разрешаться в один каталог (экземпляр java.io.File). Там нет поддержки чтения из нескольких каталогов с одним адаптером, последний раз я проверял ...

Я бы попробовал изменить каталог на входящем и на исходящем на что-то вменяемое / хорошо известное, например, два каталога в / tmp - / tmp / a и / tmp / b. если это работает, то вы знаете, что ваша конфигурация нормальна, просто значения для каталогов являются сомнительными. Если вы используете Maven и STS / Eclipse или IntelliJ, легко вызвать класс реализации адаптера входящего канала и выполнить отладку (FileReadingMessageSource, IIRC).

...