我已經爲數據庫測試創建了用於彈簧啓動執行器的示例項目。運行應用程序時我打的網址使用彈簧啓動執行器關閉mongo時的應用狀態關閉
後- 當蒙戈DB運行
- 網址:http://localhost:8080/health
- 響應: `{ 「地位」: 「UP」, 「磁盤空間」:{ 「地位」 :「UP」,「total」:493767094272,「free」:404928278528,「threshold」:10485760},「mongo」:{「status」:「UP」,「version」:「3.0.2」}}
`
- 當蒙戈DB沒有運行
- 網址: http://localhost:8080/health
響應:
{ 「地位」: 「DOWN」, 「磁盤空間」:{ 「地位」: 「UP」, 「總」: 493767094272,「free」:404929720320,「threshold」:10485760},「mongo」:{「status」:「DOWN」,「error」:「org.springframework.dao.DataAccessResourceFailureException:等待30000ms後超時匹配ReadPreferenceServerSelector {readPreference = primary}的服務器。集羣狀態的客戶端視圖是由{java.net。引起的{type = UNKNOWN,servers = [{address = localhost:27017,type = UNKNOWN,state = CONNECTING,exception = {com.mongodb.MongoSocketOpenException:打開套接字的異常}。 ConnectException:Connection refused:connect}}];嵌套的異常是com.mongodb.MongoTimeoutException:在等待與ReadPreferenceServerSelector {readPreference = primary}匹配的服務器的30000 ms後超時。集羣狀態的客戶端視圖是由{java.net。引起的{type = UNKNOWN,servers = [{address = localhost:27017,type = UNKNOWN,state = CONNECTING,exception = {com.mongodb.MongoSocketOpenException:打開套接字的異常}。的ConnectException:連接被拒絕:連接}}] 「}}
問:爲什麼申請狀態爲 」DOWN「。當我的MongoDB是沒有運行我希望我的申請狀態爲 」UP「 天氣MongoDB是」 DOWN 「或 」UP「。
下面是我的主類春季啓動應用程序。
package com.company.testing;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
的pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>SpringBootSample</artifactId>
<version>0.0.1</version>
<name>Spring Boot Sample</name>
<description>Spring Boot Sample for spring boot actuator</description>
<groupId>com.company.testing</groupId>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
只是爲了確保我明白了,你正在使用蒙戈,你想健康端點,如果它漲不跌不在乎?什麼是用例? –
使用案例:我希望健康端點照顧mongo並更新狀態天氣mongo爲「UP」或「DOWN」,但當mongo處於關閉狀態時,應用狀態應爲「UP」,因爲mongo已關閉,但我的應用程序是「 UP「 – Harshil
@StephaneNicoll:當mongo關閉時,我期待這個結果: {」status「:」UP「,」diskSpace「:{」status「:」UP「,」total「:493767094272,」free「 :404929720320,「threshold」:10485760},「mongo」:{「status」:「DOWN」,「error」:「」}} –
Harshil