Spring Integration에서 파일 변경 감지

Stian Storrvik

유스 케이스 : 파일 디렉토리를 듣고 싶고 누군가 파일을 변경할 때마다 프로세스를 시작하려고합니다.

이것은 지금까지 내 구성입니다.

<int-file:inbound-channel-adapter directory="${dir}" auto-startup="${auto.startup}" prevent-duplicates="true" filter="inputfilefilter" channel=rulesChannel">
    <int:poller fixed-delay="${delay}" />
</int-file:inbound-channel-adapter>

여기서 inputFileFilter는 사용자 정의 Bean이고 rulesChannel은 나중에 처리됩니다.

inputFileFilter는 파일 배열을 가져와 파일 끝에 정렬 된 파일 목록을 반환합니다. 이것은 끝없이 당기는 것처럼 보이며 "중복 방지"검사는 필터 후에 수행됩니다 (예 : 파일이 추가되었지만 rulesChannel로 전송되지 않은 것 같습니다).

어쨌든 내 문제는 새 파일이 아닌 파일 변경 사항 을 선택하는 데이 모든 것이 필요하다는 것 입니다. 주로 때때로 변경되는 구성 파일이며 동기화 상태를 유지하려면 업데이트해야합니다.

예, 이것은 전체적으로 끔찍한 해결책이지만 실제로는 제 부름이 아니며 선택의 여지가없는 것 같습니다.

좋은 아이디어가 있습니까?

편집 : 나는 http://docs.spring.io/spring-integration/reference/html/files.html#_watchservicedirectoryscanner약간 놀아서 클래스를 복사하고 StandardWatchEventKinds.ENTRY_MODIFY와 함께 사용할 수 있는지 확인했지만 도움이되지 않는 것 같습니다.

기본적으로 "스레드를 시작하고 계속 실행"하는 좋은 방법이 있었다면 나도 괜찮을 것입니다.

Stian Storrvik

내가해야 할 일은 나만의 DefaultDirectoryScanner를 구현하는 것이 었습니다.

시작시 감시자를 등록하고 listEligibleItems (..)를 통해 인바운드 채널 어댑터로부터 요청을 수신하면 감시자를 확인합니다.

두 개의 개별 파일 디렉토리를 처리 할 수 ​​있도록 두 개의 다른 감시자와 두 개의 다른 파일 폴러를 추가했습니다. 이것은 주로 코드의 가독성을 보장하고 인바운드 채널 어댑터의 "디렉토리"부분을 해킹하지 않도록하기위한 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Git에서 파일 변경 감지

분류에서Dev

문서 디렉토리에서 파일 변경 감지

분류에서Dev

Windows에서 파일을 변경하는 프로세스 감지

분류에서Dev

App Engine-dev_appserver 로그에서 파일 변경 감지 제거

분류에서Dev

디렉토리에서 파일 변경을 감지하는 Bash 스크립트

분류에서Dev

'ansible'로 파일 차이 (변경) 감지

분류에서Dev

UwAmp 서버가 파일의 변경 사항을 감지하지 못함

분류에서Dev

Spring "Integrating Data"시작 안내서-integration.xml 파일에서 변수 사용

분류에서Dev

GNU는 Windows에서 파일이 변경되었는지 감지하지 못합니다.

분류에서Dev

오디오 파일에서 사운드 경계 감지

분류에서Dev

Python- 경로에서 파일을 감지 할 수 없음

분류에서Dev

Ruby의 파일에서 불변성 감지 / 설정

분류에서Dev

api.add_files ()를 사용하지 않고 파일에서 패키지 변경 사항을 감시합니다.

분류에서Dev

spring-application.properties 파일 내부에서 환경 변수 읽기

분류에서Dev

System.IO.FileSystemWatcher는 Visual Studio 2013에서 변경된 파일을 감시하지 않습니다.

분류에서Dev

Browsersync가 하위 폴더의 sass 파일에 대한 변경 사항을 감지하지 못합니다.

분류에서Dev

ParcelJS의 HTML 파일에서 JS 변수 이름 변경 방지

분류에서Dev

Webpack이 파일 변경을 감지하지 못함

분류에서Dev

스타일 속성에서 특정 값을 감지하고 변경

분류에서Dev

Pandas Dataframe에서 기호 변경 감지

분류에서Dev

Webview Android에서 URL 변경 감지

분류에서Dev

WPF WebBrowser에서 URL 변경 감지

분류에서Dev

iframe에서 방향 변경 감지

분류에서Dev

Python에서 URL 변경 감지

분류에서Dev

AppDelegate에서 UIViewController 변경 감지

분류에서Dev

감시자가 가져온 파일 변경을 감지하지 못함

분류에서Dev

Python에서 파일 변경

분류에서Dev

파일에서 ID 변경

분류에서Dev

gitlab CI에서 컴파일러 경고를 감지하는 방법

Related 관련 기사

  1. 1

    Git에서 파일 변경 감지

  2. 2

    문서 디렉토리에서 파일 변경 감지

  3. 3

    Windows에서 파일을 변경하는 프로세스 감지

  4. 4

    App Engine-dev_appserver 로그에서 파일 변경 감지 제거

  5. 5

    디렉토리에서 파일 변경을 감지하는 Bash 스크립트

  6. 6

    'ansible'로 파일 차이 (변경) 감지

  7. 7

    UwAmp 서버가 파일의 변경 사항을 감지하지 못함

  8. 8

    Spring "Integrating Data"시작 안내서-integration.xml 파일에서 변수 사용

  9. 9

    GNU는 Windows에서 파일이 변경되었는지 감지하지 못합니다.

  10. 10

    오디오 파일에서 사운드 경계 감지

  11. 11

    Python- 경로에서 파일을 감지 할 수 없음

  12. 12

    Ruby의 파일에서 불변성 감지 / 설정

  13. 13

    api.add_files ()를 사용하지 않고 파일에서 패키지 변경 사항을 감시합니다.

  14. 14

    spring-application.properties 파일 내부에서 환경 변수 읽기

  15. 15

    System.IO.FileSystemWatcher는 Visual Studio 2013에서 변경된 파일을 감시하지 않습니다.

  16. 16

    Browsersync가 하위 폴더의 sass 파일에 대한 변경 사항을 감지하지 못합니다.

  17. 17

    ParcelJS의 HTML 파일에서 JS 변수 이름 변경 방지

  18. 18

    Webpack이 파일 변경을 감지하지 못함

  19. 19

    스타일 속성에서 특정 값을 감지하고 변경

  20. 20

    Pandas Dataframe에서 기호 변경 감지

  21. 21

    Webview Android에서 URL 변경 감지

  22. 22

    WPF WebBrowser에서 URL 변경 감지

  23. 23

    iframe에서 방향 변경 감지

  24. 24

    Python에서 URL 변경 감지

  25. 25

    AppDelegate에서 UIViewController 변경 감지

  26. 26

    감시자가 가져온 파일 변경을 감지하지 못함

  27. 27

    Python에서 파일 변경

  28. 28

    파일에서 ID 변경

  29. 29

    gitlab CI에서 컴파일러 경고를 감지하는 방법

뜨겁다태그

보관