Если я вас правильно понял вы должны использовать <context:property-placeholder>
и конфигурации, как это:
<file:inbound-channel-adapter
channel="input"
directory="${dir}"
filename-pattern="${pattern}">
<poller fixed-delay="${fixedDelay}" time-unit="SECONDS"/>
</file:inbound-channel-adapter>
Где все эти заполнители должны быть ваша программа арг, как это:
java myMain --dir=/usr/mydir --patter=myfile.name --fixedDelay=1000
ОБНОВЛЕНИЕ
Однако, нет: вам не нужно <context:property-placeholder>
- Spring Boot делает это за вас!
UPDATE 2
К сожалению, вы требование до сих пор не ясно. Так или иначе, как об этом:
<int-event:inbound-channel-adapter channel="processFileChannel"
event-types="org.springframework.context.event.ContextRefreshedEvent"
payload-expression="new java.io.File('${filePath}')"/>
Где filePath
есть снова аргумент командной строки. И свойство placeholder из Spring Boot.
<int-event:inbound-channel-adapter>
отвечает, чтобы прослушать ApplicationEvent
. В этом случае мы реагируем на ContextRefreshedEvent
- главное событие, когда приложение applicationContext готово что-то сделать.
Фактически нет. Я просто хочу вызвать конкретный файл по имени. Каждый раз он будет другим. Нет рисунка. И, как я уже упоминал в вопросе, мне не нужен опроллер, так как я не буду проводить опрос, когда это будет автономным банком и не будет работать на веб-сервере. – adi
Обновлен мой ответ другим решением. –
Это интересно .. попробуем и дадим вам знать, спасибо – adi