2014-11-15 3 views
1

저지와 함께 간단한 스프링 부팅 응용 프로그램이 있습니다.스프링 부트 저지 및 모니터링 URL

봄 부팅 기본 모니터링 엔드 포인트

을 제공

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready-monitoring

예 : 봄 부팅에 의해 제공됩니다

@Component 
public class JerseyConfig extends ResourceConfig { 

    public JerseyConfig() { 
     // registering resources from rest package 
     packages("com.xyx.abc.rest"); 

    } 

} 

나머지 끝 지점이 봄 부팅 뉴저지의 맥락에서 사용할 수 없습니다 신청.

스프링 부트 종속성에는 저지, 스타터 - 액추에이터, 스타터 - 톰캣이 포함됩니다.

우리의 REST 리소스는 훌륭하게 표시되지만 모니터링을 위해 Spring Boot에서 제공되는 리소스는 표시되지 않습니다.

는 예컨대 http://abc.xyx.com:8080/health 반환하는 404

답변

1

당신은 당신이 그 요청을 처리하지 저지를 말할 필요가 Filter로 사용하는 경우. 예 :

@Bean 
public FilterRegistrationBean jersey() { 
    FilterRegistrationBean bean = new FilterRegistrationBean(); 
    ... 
    bean.setUrlPatterns(Lists.newArrayList("/api/*")); 
    return bean; 
} 

(here에서) : "/ API/*"또는 무언가 같이 별도의 경로에서 저지 자원을 넣어.

아니면 관리 엔드 포인트 (다른 ​​초기화 매개 변수 "com.sun.jersey.config.property.WebPageContentRegex"를 통해) "정적"임을 선언에 의해

: 우리는 봄에 management.contextPath=/admin을 설정 한

@Bean 
public FilterRegistrationBean jersey() { 
    FilterRegistrationBean bean = new FilterRegistrationBean(); 
    ... 
    bean.addInitParameter("com.sun.jersey.config.property.WebPageContentRegex", 
      "/admin/.*"); 
    return bean; 
} 

외부 구성을 부팅하십시오 (그렇지 않으면 정규식의 모든 끝점을 열거해야합니다).

또한 Jersey에게 (404를 보내는 대신) 해결되지 않은 요청을 무시하도록 지정할 수 있습니다. 또한 목표를 달성 할 수도 있지만 클라이언트 앱에 영향을 미칠 수 있습니다 (행동에 404가 의존하는 경우).

+0

다음 코드를 사용하면 managment.contextPath =/app 일 때 모니터링 URL이 올바르게 작동합니다. 그러나 Jersey Resources는 404 @Bean을 제공합니다. \t public FilterRegistrationBean jersey() { \t \t FilterRegistrationBean bean = new FilterRegistrationBean(); \t \t bean.setFilter (새 ServletContainer()); \t \t bean.setOrder (Ordered.LOWEST_PRECEDENCE); \t \t bean.addInitParameter ("com.sun.jersey.config.property.WebPageContentRegex" \t \t \t \t "/app/.**"); \t \t bean.addInitParameter ("com.sun.jersey.config.property.packages" \t \t \t \t "com.xxx.application"); \t \t bean.setUrlPatterns (Lists.newArrayList ("/ api/**")); \t \t return bean; \t} – ADK

+0

모든 저지 리소스는/api입니다. 그러나 위의 내용을/api/* 또는/api/**로 등록하면 404 – ADK

+0

이됩니다 (서블릿 사양에 따라) "/ api/*"여야합니다.404를 제공하는 URL은 무엇입니까? 저지에서 (/ api 접두어없이) 매핑되어 있는지 확인 하시겠습니까? –