当前位置: 首页 > 知识库问答 >
问题:

应用状态下降,当mongo与Spring引导执行器一起下降时

酆阳煦
2023-03-14

我已经为Spring Boot执行器创建了示例项目,并进行了数据库测试。运行应用程序后,当我点击URL

    null

{“status”:“down”,“diskspace”:{“status”:“up”,“total”:493767094272,“free”:404929720320,“threshold”:10485760},“mongo”:{“status”:“down”,“error”:“org.springframework.dao.DataAccessResourceFailureException:等待与ReadPreferenceServerSelector匹配的服务器{ReadPreference=primary}时在30000 ms后超时。群集状态的客户端视图为{:连接}}]“}}

问题:当我的mongodb没有运行时,为什么应用程序状态是“down”。我想让我的应用程序状态“上升”,天气mongodb是“下降”或“上升”。

下面是我的spring boot应用程序的主要类。

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>

共有1个答案

晁聪
2023-03-14

应用程序.属性

management.health.mongo.enabled=false
endpoints.mongo.enabled=true

MongoDbHealthCheckEndpoint.

@ConfigurationProperties(prefix = "endpoints.mongo", ignoreUnknownFields =     true)
@Component
public class MongoDBHealthCheckEndPoint extends    AbstractEndpoint<Map<String, String>> 
 {

@Inject
MongoTemplate mongoTemplate;


private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

private static final Map<String, String> UP = new HashMap<String, String>() {{
    put("mongo.status", "UP");
}};

private static final Map<String, String> DOWN = new HashMap<String, String>() {{
    put("mongo.status", "DOWN");
}};


public MongoDBHealthCheckEndPoint() {
    super("mongo", false);
}

public MongoDBHealthCheckEndPoint(Map<String, ? extends Object> mongo) {
    super("mongo", false);
}

public Map<String, String> invoke() {
    try {
        return (new MongoHealthIndicator(mongoTemplate).health().getStatus().equals(Status.UP)) ? UP : DOWN;
    } catch (Exception e) {
        log.error("mongo database is down", e);
        return DOWN;
    }
}
 类似资料:
  • 它将提供以下产出: 你能给我一点提示吗?所有的测试都是通过的,mvn清洁安装也是成功的。

  • 我们有一个spring-boot(2.0.2)应用程序,它使用带有弹性搜索(6.2.4)的传输客户端执行crud操作,并启用了健康执行器。我们还有一个监测系统,每3分钟就会对健康执行器进行一次检查,如果服务出现故障,就会发出警报。这个监控应用程序每天会发出6到8次警报,说ElasticSearch出现超时异常。警报每天随机触发,没有任何模式。 下面是运行状况检查时应用程序的日志

  • 在本节中,我们将介绍梯度下降(gradient descent)的工作原理。虽然梯度下降在深度学习中很少被直接使用,但理解梯度的意义以及沿着梯度反方向更新自变量可能降低目标函数值的原因是学习后续优化算法的基础。随后,我们将引出随机梯度下降(stochastic gradient descent)。 一维梯度下降 我们先以简单的一维梯度下降为例,解释梯度下降算法可能降低目标函数值的原因。假设连续可导

  • 在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结。 1. 梯度 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是$$left ( frac{partial

  • 在训练机器学习模型时,首先对权重和偏差进行初始猜测,然后反复调整这些猜测,直到获得损失可能最低的权重和偏差为止(即模型收敛)。 而梯度下降是机器学习中最常用的计算代价函数的方法,它只需要计算损失函数的一阶导数。 假设 h(theta) 为目标函数,而 J(theta) 为损失函数, 损失函数的梯度(即偏导数)为 按参数 theta 的梯度负方向,来更新 theta,即梯度下降算法为 mini-ba

  • 本章将重点介绍Bootstrap下拉菜单。 下拉菜单是可切换的上下文菜单,用于以列表格式显示链接。 这可以通过下拉JavaScript插件进行交互。 要使用下拉列表,只需将下拉菜单包装在类.dropdown 。以下示例演示了一个基本的下拉菜单 - <div class = "dropdown"> <button type = "button" class = "btn dropdown-to