2017-03-03 7 views
-1

저는 Spring을 처음 접했습니다. 서비스의 사용자 정의 정보를 Spring Boot Admin 서버 대시 보드에 통합하려고합니다.SpringBoot 관리 서버에 사용자 정의 탭 추가

microservice 용 스프링 부트 관리 서버 대시 보드에는 Details, Metrics 등의 탭이 있습니다. 하나 이상의 사용자 정의 탭을 추가해야합니다. 나는 내 서비스 중 하나가 this 기사를 따라 만든 더미 끝점 (나중에 사용자 지정 탭을 제공 할 것입니다)을 제공합니다. 이 엔드 포인트는 actuator.Endpoint 클래스를 확장합니다.

서버와 UI에서 Spring Boot Admin' Github을 조사했지만 사용자 지정 끝점을 통합하는 방법을 찾을 수 없습니다.

모든 종류의 도움을 받으실 수 있습니다. 감사합니다

+0

"사용자 정의 끝점을 통합 할 수 없습니다"? 그게 무슨 뜻 이니? 어떤 종류의 오류 또는 어떤 종류의 메시지를 받았습니까? UI는 어떻게 생겼는가? – Makoto

+0

어쩌면 단어를 올바르게 선택 했어야하지만 내 의도는 ... "하지만 사용자 지정 끝점을 통합 할 수있는 방법을 찾지 못했습니다." –

답변

0

는 @joshiste합니다 : 당신은 확실히 당신의 자원이 올바른 디렉토리에 추가하여 사용자 정의 플러그인을 만들 수 있습니다

.

관리자 프로젝트는 다음 디렉토리를 찾습니다

registry.addResourceHandler(adminServerProperties.getContextPath() + "/**") 
      .addResourceLocations("classpath:/META-INF/spring-boot-admin-server-ui/") 
      .resourceChain(true) 
      .addResolver(new PreferMinifiedFilteringResourceResolver(".min")); 

    registry.addResourceHandler(adminServerProperties.getContextPath() + "/all-modules.css") 
      .resourceChain(true) 
      .addResolver(new ResourcePatternResolvingResourceResolver(resourcePatternResolver, 
        "classpath*:/META-INF/spring-boot-admin-server-ui/*/module.css")) 
      .addResolver(new ConcatenatingResourceResolver("\n".getBytes())); 

    registry.addResourceHandler(adminServerProperties.getContextPath() + "/all-modules.js") 
      .resourceChain(true) 
      .addResolver(new ResourcePatternResolvingResourceResolver(resourcePatternResolver, 
        "classpath*:/META-INF/spring-boot-admin-server-ui/*/module.js")) 
      .addResolver(new PreferMinifiedFilteringResourceResolver(".min")) 
      .addResolver(new ConcatenatingResourceResolver(";\n".getBytes())); 

그래서 당신의 JS가/CSS를 자원 등/META-INF/스프링 부팅 관리자 - 서버 - UI/추가되어 있는지 확인합니다. 올바른 이름을 가지고 있습니다 : module.js and module.css

업데이트 사용자 정의 플러그인을 삽입하기 위해 추가 탭을 추가 할 수 없습니다. 적어도 i.c.w. Angular, 기본 플러그인과 같습니다. 이 SBA의 모든 모듈과 JS 종속성 빌드 과정에서 축소 된 있다는 사실에 주로 기인하지만, 사용자 정의 하나 그래서 당신은 같은 JS 오류를 얻을 것이다되지 않습니다 :의 다음 줄에

require isn't defined 

을 사용자 정의 module.js :

var angular = require('angular'); 

그래서 내가 지금 볼 수있는 유일한 방법은 전체 SBA 프로젝트를 분기하여 자신의 출발점으로 기본 플러그인 중 하나를 복사한다. (예를 들어, 응용 프로그램-측정)