org.springframework.boot.actuate.endpoint.mvc.AbstractMvcEndpoint
はあなたの提案にとっては良いスタートです。
ここでは例を挙げて説明しますが、これは実際のケースでは役に立たないが、現実世界では役に立ちません。 ここでは@ConditionalOnClass
を使用しますが、代わりに@ConditionalOnBean
または@ConditionalOnMissingBean
を使用する必要があります。
RabbitEndpoint.java - Tomcatを使用している場合にのみ自動構成されます。
/**
* @author lhuang
*/
@ConditionalOnClass(value = Tomcat.class)
public class RabbitEndpoint extends AbstractMvcEndpoint {
public RabbitEndpoint() {
super("rabbit", true);
}
@RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public void invoke(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
System.out.println(" ------ Auto-Configuration on Tomcat.class Conditional ------ ");
}
}
META-INF/spring.factories、あなたがコンソールを取得するパスを訪れ、 "http://localhost:8080/rabbit"
をスプリングブートアプリを起動後
org.springframework.boot.autoconfigure.EnableAutoConfiguration=io.cloudhuang.web.RabbitEndpoint
自動設定クラスを登録出力
------ Auto-Configuration on Tomcat.class Conditional ------
おかげ黄をしようと、これはまさに私が質問を投稿する前にやったが、私はあなたがアクチュエータのエンドポイントでやっているアクチュエータのエンドポイント –
なしで行うことができるかどうかを確認したいですか?彼の答えのアクチュエータは '@ ConditionalOnBean' /' @ ConditionalOnMissingBean'/'@ ConditionalOnClass'の使用例のほんの一例でした –