Spring BootアプリケーションなしでSpring Bootアクチュエータを使用する

LostMohican:

生産情報エンドポイントを備えたSpring Bootのアクチュエータライブラリは、あらゆるサーバーアプリケーションに非常に役立ちます。しかし問題は、従来のSpringアプリケーション(Spring BOOTアプリケーションではない)に統合する方法が見つからなかったことです。

アクチュエータのエンドポイントを使用する方法がいくつかあるに違いありませんが、それらを接続することができませんでした。

以下のようなJavaConfigクラスがあります

@Configuration
@ComponentScan(basePackages = { "com.company.helper", "org.springframework.boot" })
@EnableWebMvc
@Import({ DbConfig.class })

public class AppConfig extends WebMvcConfigurerAdapter {

}

ただし、この構成ではデプロイメント中にエラーがスローされます。

この配線は、Spring Bootアプリケーションなしで実行できますか?

プラテックネギ:

このブログ投稿で、非ブートアプリケーションにスプリングブートアクチュエータを追加する方法に関する情報を追加しました

http://givenwhenthen.blogspot.com/2015/09/adding-spring-boot-actuator-to-non.html

アプリケーションのbuild.gradleに、次の依存関係を追加しました

compile('org.springframework.boot:spring-boot-actuator:1.2.5.RELEASE'){
    exclude group: 'org.springframework.boot', module:'spring-boot-starter-logging'}

アプリケーションのSpring Configクラスに、次のものを追加しました。

 import org.springframework.beans.factory.annotation.Autowired;  
 import org.springframework.boot.actuate.autoconfigure.EndpointAutoConfiguration;  
 import org.springframework.boot.actuate.endpoint.BeansEndpoint;  
 import org.springframework.boot.actuate.endpoint.HealthEndpoint;  
 import org.springframework.boot.actuate.endpoint.InfoEndpoint;  
 import org.springframework.boot.actuate.endpoint.RequestMappingEndpoint;  
 import org.springframework.boot.actuate.endpoint.mvc.EndpointHandlerMapping;  
 import org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter;  
 import org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint;  
 import org.springframework.boot.actuate.endpoint.mvc.MvcEndpoint;  

 @Configuration  
 @Import(EndpointAutoConfiguration.class)  
 public class MyAppSpringConfig {  

   @Bean  
   @Autowired  
   //Define the HandlerMapping similar to RequestHandlerMapping to expose the endpoint  
   public EndpointHandlerMapping endpointHandlerMapping(  
     Collection<? extends MvcEndpoint> endpoints  
   ){  
     return new EndpointHandlerMapping(endpoints);  
   }  

   @Bean  
   @Autowired  
   //define the HealthPoint endpoint  
   public HealthMvcEndpoint healthMvcEndpoint(HealthEndpoint delegate){  
     return new HealthMvcEndpoint(delegate, false);  
   }  

   @Bean  
   @Autowired  
   //define the Info endpoint  
   public EndpointMvcAdapter infoMvcEndPoint(InfoEndpoint delegate){  
      return new EndpointMvcAdapter(delegate);  
   }  

   @Bean  
   @Autowired  
   //define the beans endpoint  
   public EndpointMvcAdapter beansEndPoint(BeansEndpoint delegate){  
     return new EndpointMvcAdapter(delegate);  
   }  

   @Bean  
   @Autowired  
   //define the mappings endpoint  
   public EndpointMvcAdapter requestMappingEndPoint(  
     RequestMappingEndpoint delegate  
   ){  
     return new EndpointMvcAdapter(delegate);  
  }  
}  

追加の依存関係を1つ取り除きたい場合は、ブログ投稿を参照してください。

更新

また、RequestMappingHandlerAdapterにBeanが定義されていることを確認する必要があります。Beanがない場合、ServletDispatcherはHealthMvcEndpointのハンドラーのアダプターをフェッチできません。

持っていない場合は、Bean構成ファイルに追加するだけです。

xml構成:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="jsonConverter"/>
            </list>
        </property>
    </bean>

    <bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
        <property name="supportedMediaTypes" value="application/json" />
        <property name="prettyPrint" value="true" />
    </bean>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SpringアクチュエータをWeb以外のSpring Bootアプリケーションで使用できますか?

分類Dev

Spring BootアプリケーションでThreadPoolExecutorを正しく使用する方法

分類Dev

Prometheusを使用してKubernetesクラスターでSpring Bootアプリケーションを監視する

分類Dev

JUnitを使用して@SpringBootApplicationなしでJava Spring Bootアプリケーションをテストする方法

分類Dev

Spring Boot ActuatorアプリケーションがUbuntu VPSで起動しない

分類Dev

Spring Bootアプリケーションで更新と削除が機能しない

分類Dev

Spring MVC(Spring Bootではない)アプリケーションでJacksonをカスタマイズする方法

分類Dev

Spring Data JPAがSpring BootアプリケーションでAttributeConverterを使用しない

分類Dev

@AsyncがSpring Bootアプリケーションでエラーを表示する

分類Dev

Spring BootアプリケーションでのアクティブMQキューを使用したApache Camel Routing

分類Dev

Monolith JSF / SpringアプリケーションをSpring Bootでラップする

分類Dev

Spring Bootアプリケーションアクチュエータのエンドポイントが登録され、リクエストが失敗する

分類Dev

Spring Bootアプリケーションアクチュエータのエンドポイントが登録され、リクエストが失敗する

分類Dev

Spring Boot DataJPAアプリケーションで基準クエリを使用する方法

分類Dev

spring-boot アプリケーションで DB ビューをエミュレートする

分類Dev

HTTPSを使用してSpring Bootアプリケーションを開始する

分類Dev

JasperReportを使用したSpring BootアプリケーションでのFileNotFoundException

分類Dev

java -cpコマンドを使用してSpring Bootアプリケーションを実行できない

分類Dev

JavaFXアプリケーションのSpring BootでSpring Securityエキストラを使用する

分類Dev

Spring Security 5を使用してSpring Bootアプリケーション(Webアプリケーションではない)でoauth2アクセストークンを取得する方法

分類Dev

Spring-Bootアプリケーションが@EnableWebMvcを必要としない理由

分類Dev

(gradleを使用して)パッケージ化すると、Spring Bootがアプリケーションymlをロードしないのはなぜですか?

分類Dev

Mavenを使用してSpring Bootアプリケーションを実行できない

分類Dev

Spring BootアプリケーションでAOPが機能しないのはなぜですか?

分類Dev

CSSがSpring Bootアプリケーションでロードされない

分類Dev

Spring-Bootを使用してJavaアプリケーションを実行し、digitaloceanでgradleを実行する

分類Dev

Spring BootアプリケーションでJPAを使用してリストを削除/取得する方法

分類Dev

Tanuki Service WrapperでSpring Bootアプリケーションをラップする

分類Dev

Spring BootアプリケーションのFeignクライアントでWireMockを使用する方法

Related 関連記事

  1. 1

    SpringアクチュエータをWeb以外のSpring Bootアプリケーションで使用できますか?

  2. 2

    Spring BootアプリケーションでThreadPoolExecutorを正しく使用する方法

  3. 3

    Prometheusを使用してKubernetesクラスターでSpring Bootアプリケーションを監視する

  4. 4

    JUnitを使用して@SpringBootApplicationなしでJava Spring Bootアプリケーションをテストする方法

  5. 5

    Spring Boot ActuatorアプリケーションがUbuntu VPSで起動しない

  6. 6

    Spring Bootアプリケーションで更新と削除が機能しない

  7. 7

    Spring MVC(Spring Bootではない)アプリケーションでJacksonをカスタマイズする方法

  8. 8

    Spring Data JPAがSpring BootアプリケーションでAttributeConverterを使用しない

  9. 9

    @AsyncがSpring Bootアプリケーションでエラーを表示する

  10. 10

    Spring BootアプリケーションでのアクティブMQキューを使用したApache Camel Routing

  11. 11

    Monolith JSF / SpringアプリケーションをSpring Bootでラップする

  12. 12

    Spring Bootアプリケーションアクチュエータのエンドポイントが登録され、リクエストが失敗する

  13. 13

    Spring Bootアプリケーションアクチュエータのエンドポイントが登録され、リクエストが失敗する

  14. 14

    Spring Boot DataJPAアプリケーションで基準クエリを使用する方法

  15. 15

    spring-boot アプリケーションで DB ビューをエミュレートする

  16. 16

    HTTPSを使用してSpring Bootアプリケーションを開始する

  17. 17

    JasperReportを使用したSpring BootアプリケーションでのFileNotFoundException

  18. 18

    java -cpコマンドを使用してSpring Bootアプリケーションを実行できない

  19. 19

    JavaFXアプリケーションのSpring BootでSpring Securityエキストラを使用する

  20. 20

    Spring Security 5を使用してSpring Bootアプリケーション(Webアプリケーションではない)でoauth2アクセストークンを取得する方法

  21. 21

    Spring-Bootアプリケーションが@EnableWebMvcを必要としない理由

  22. 22

    (gradleを使用して)パッケージ化すると、Spring Bootがアプリケーションymlをロードしないのはなぜですか?

  23. 23

    Mavenを使用してSpring Bootアプリケーションを実行できない

  24. 24

    Spring BootアプリケーションでAOPが機能しないのはなぜですか?

  25. 25

    CSSがSpring Bootアプリケーションでロードされない

  26. 26

    Spring-Bootを使用してJavaアプリケーションを実行し、digitaloceanでgradleを実行する

  27. 27

    Spring BootアプリケーションでJPAを使用してリストを削除/取得する方法

  28. 28

    Tanuki Service WrapperでSpring Bootアプリケーションをラップする

  29. 29

    Spring BootアプリケーションのFeignクライアントでWireMockを使用する方法

ホットタグ

アーカイブ