2014-07-25 5 views
6

멀티 임차 (multi tenancy) 상황에서 특정 프로젝트로 인해 상당히 깊은 통계 파일 수준으로 디스패처가 설정되었습니다.CQ5/AEM 아파치 디스패처에서 디렉터리를 재귀 적으로 플러시 할 수 있습니까?

필자가 바라는 바는 디렉토리를 재귀 적으로 플러시하여 다른 테넌트에 대한 더 얕은 통계 파일 수준을 모방 할 수있는 방법입니다.

콘텐츠 디렉토리를 명시 적으로 삭제할 수있는 디스패처 플러시 명령이 있습니까?

답변

4

발송자에게 간단한 GET 요청을 보내서 직접 처리 할 수 ​​있습니다. Dispatcher에서 적중해야하는 경로는 /dispatcher/invalidate.cache입니다.

  • CQ 문안 :이 상기 콘텐츠를 삭제하는 "삭제"를 설정할 수있다

    다음 헤더가 올바르게 처리 있다고 보장한다. 나는 "EXPIRE"가 내용을 오래된 것으로 플래그 지정하지만 캐시에서 물리적으로 제거하지는 않는다고 생각합니다.
  • CQ-Handle : 캐시 폴더의 루트에서부터 삭제해야 할 항목을 지정합니다. 예 : "/ content/geometrixx"는 geometrixx와 그 아래 모든 것을 제거합니다. "/"는 캐시의 모든 것을 제거합니다.
  • 콘텐츠 길이 & 콘텐츠 형식 : 요청이 올바르게 처리되는지 확인하십시오. 본문을 전송하지 않으므로 길이를 0으로 설정할 수 있습니다. Content-Type은 "application/octet-stream"일 수 있습니다 (다른 값을 시도하지 않았습니다). 이 포트 80에서 로컬 호스트에서 실행중인 Dispatcher에서 캐시에서 모든 것을 제거 인 경우 (

    curl -v \ 
    -H "CQ-Action: DELETE" \ 
    -H "CQ-Handle:/" \ 
    -H "Content-Length: 0" \ 
    -H "Content-Type: application/octet-stream" \ 
    http://localhost:80/dispatcher/invalidate.cache; 
    

    : 당신이 다음과 같이 보일 것이다 구축 할 것

마지막 컬 명령.여기에이 백 슬래시는 선택 사항입니다 만


당신은 모든 상자 방화벽 제한 (대상, 등)에서이 GET 요청을 발행 할 수)가 읽기 쉽게 만들기, 예를 들어,이 올 수에서 :

  • 당신의 CI 빌드 에이전트
  • 예약 된 작업하여 게시 예를
  • 플러시 주어진 경로를 사용하여 저자 인스턴스의 관리자 구성 요소입니다.
+1

고마워요. 그게 바로 제가 찾던 것입니다. 전설. –

+0

CQ-Handle을 캐시 아래의 모든 항목을 제거하기 위해 "/"로 시도했지만 캐시 폴더 아래의 모든 폴더를 삭제하지 않고 cache 폴더의 .stat 파일 만 삭제합니다. 나는 파견자 4.1.9, 아파치 2.2, 윈도우 7에있다. 폴더 ex "/ content"에 대해 잘 작동한다. "/"에 대해 설정해야하는 것은 무엇입니까? –

+0

@Sandeep Kumar, 내가 아는 것이 아니라 - 당신은'CQ-Action : DELETE' 헤더도 보내고 있습니까? 동일한 기술 스택의 바닐라 설치에서 작동합니까? – anotherdave

0

전반적인 그림은 분명하지 않지만 전체 디렉토리와 그 하위 디렉토리를 모두 플러시하는 경우 IIRC 디스패처가 플러시됩니다. 플러시 될 파일 은 발송자 구성에 따라 다릅니다.

따라서/content/geometrixx를 플러시하면 전체 사이트가 으로 플러시됩니다. (내가 잘못 기억하면 누군가가 나를 바로 잡으십시오.)

가장 쉬운 방법은 IMHO가 플러시 할 영역의 루트로 작동하는 페이지를 다시 활성화하는 것입니다. 그렇지 않으면 당신은 항상 작품이 디렉토리를 삭제 컬 명령이나 OS 프로세스에 전송되는 HTTP 헤더하지만 과 동일

http://docs.adobe.com/docs/en/aem/6-0/deploy/configuring/replication.html#Extended

다른 옵션을 Dispatcher로 적절한 헤더를 전송 자신의 슬링 서블릿을 개발할 수 파일 시스템에서.

나는 옆에있을 수있는 것처럼 마지막 두 가지가 최선이라고 말하는 것이 아닙니다. 효과가 있습니다. 그러나 그들은 일을 잘해야한다.