2014-11-06 5 views
1

Jersey을 사용하여 웹 서버를 만들었습니다. swagger을 API 문서로 사용하고 있습니다. 그러나 내 RESTFUL 서비스를 개발하는 동안 애매한 주석 변경 사항이 보이지 않아 브라우저 캐시를 지우고 다른 브라우저를 사용해 보았지만 새로운 변경 사항은 Swagger API 문서에 반영되지 않았습니다. Swagger 핵심 종속성은 공유 라이브러리 디렉토리에 있습니다.저지 프로젝트 캐시 지우기 캐시

Wokaround 변경 사항을 적용하려면 Glassfish에서 다음 폴더를 삭제해야합니다.

  1. OSGI 캐시

다음 응용 프로그램 (이 그렇지 않으면 시스템이 저 위의 폴더를 삭제하는 것을 허용하지 않습니다, 유리 물고기 서버의 완전한 종료가 필요합니다.)

을 다시 배포 생성

내 질문 : 1 - 캐싱을 영구적으로 사용 중지 할 수있는 방법이 있습니까?

2 - 폴더를 다시 시작하거나 삭제하지 않고 필요에 따라 스 캐거 캐시를 지울 수있는 방법이 있습니까?

<dependency> 
    <groupId>com.wordnik</groupId> 
    <artifactId>swagger-jaxrs_2.10</artifactId> 
    <version>1.3.10</version> 
</dependency> 
+0

개발 중에 핫스왑을 사용합니까 아니면 매번 전체 응용 프로그램을 배포합니까? – Ron

+0

은 매번 전체 응용 프로그램을 배포합니다. –

+0

조금 이상합니다. 전체 응용 프로그램을 다시 배포하고 서버를 다시 시작하면 캐싱 문제가 전혀 발생하지 않아야합니다. – Ron

답변

0

위의 설명에 따라 해결 방법은 응용 프로그램을 시작하는 동안 com.wordnik.swagger.jaxrs.listing.ApiListingCache.invalidateCache()을 사용하는 것입니다.

swagger-core의 일부 버전에서는 정적 인 부분이 있으므로 공유 라이브러리로 사용하면 all의 정의가 동일한 응용 프로그램 서버에서 사용되는 응용 프로그램보다 우선합니다. 더 나은 해결책은 각 응용 프로그램에 swagger-core 종속성을 별도로 포함시키는 것입니다.