2017-10-24 12 views
0

요구 사항 이동하거나 다른 폴더로 복사 한 후 파일을 삭제는 파일을 복사 한 후, 그대로두고 최신 파일을 백업 을 선택하지이며, 옵션 만 protocol="file" 위 PARAMATERS하고 옵션 MOVE & DELETE 인바운드 enpoint를 들어WSO2 ESB EI611 VFS ActionAfterProcess 및 ActionAfterFailure -

<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter> 
    <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter> 
    <parameter name="transport.vfs.ActionAfterFailure">DELETE</parameter> 
    <parameter name="transport.vfs.ActionAfterProcess">DELETE</parameter> 

이 허용됩니다. NO ACTION 옵션을 어떻게 추가합니까?

인바운드 엔드 포인트에서이 옵션 (NO ACTION)을 사용할 수없는 경우 transports="vfs"과 함께 프록시 서비스를 사용할 수 있으며 no-action 옵션을 사용할 수 있습니까? 구문은 무엇입니까?

WSO2의 문서에 따르면 세 번째 옵션으로는 아무런 조치가 취할 수 없지만 구문이나 형식은 없습니다. 인바운드 종점 IDE 속성은 MOVE 또는 DELETE 만 지원합니다. 프록시 서비스는 이름 - 값 쌍입니다.

답변

0

덕분에, 나는 좀 WSO2가 의도적으로 중복을 피하기 위해, 유일한 옵션으로 삭제 MOVE &을 유지 것으로 예상. 그렇지 않으면 동작 또는 파일 폴링 오류가 발생합니다. 그래서 그들은 이미 "NONE"을 버렸습니다. 아마도 이미 폴더에있는 오래된 파일이나 파일을 선택하지 않아도됩니다. 그러나 이것은 문서에서 분명해야합니다, 하나님, 그들의 문서가 나를 죽이고 있습니다.

0

EI6에서 작동하는지 모르지만 ESB 4.8.1에서는 다음과 같이 할 수 있습니다.

<parameter name="transport.vfs.ActionAfterProcess">NONE</parameter> 
+0

감사합니다. – MaMuDragon

+0

이 문제에 관심이 있습니다. 그러나 인바운드 엔드 포인트는 이미 처리 된 파일을 어떻게 알 수 있습니까? 이것에 대한 메커니즘이 있습니까? – Nicolas

+0

esb 4.8.1에는 구현 된 메커니즘이 없습니다. 수행 할 수있는 유일한 방법은 처리 된 파일 이름을 어딘가에 (예 : 데이터베이스) 저장하고 데이터베이스에 이미이 파일이 포함되어 있는지 inSequence 검사에 저장하는 것입니다. 그렇다면 나머지 시퀀스는 건너 뜁니다. 파일이 발견 될 때마다 파일이 처리된다는 것을 명심하십시오. 많은 파일이있는 경우 매우 나쁠 수 있습니다. 가능하다면 다른 디렉토리에서 파일을 읽고 그것을 유지해야하는 디렉토리로 이동합니다 (ActionAfterProcess 매개 변수). –