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

Spring boot REST服务在一段时间后停止

东方旺
2023-03-14

触发spring boot REST服务后,该服务可以正常运行数小时,所有请求都可以正常工作,没有任何问题。发生的是,一段时间后,它随机地停止了。在查看日志时,我没有发现任何错误,除了应用程序已被销毁的信息。

一段时间后的日志

2016-03-09 17:07:33.488  INFO 28359 --- [Thread-12] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5df2d54c: startup date [Wed Mar 09 10:45:18 UTC 2016]; root of context hierarchy
2016-03-09 17:07:33.490  INFO 28359 --- [Thread-12] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
2016-03-09 17:07:33.495  INFO 28359 --- [Thread-12] o.eclipse.jetty.server.ServerConnector   : Stopped ServerConnector@585ebc93{SSL-HTTP/1.1}{0.0.0.0:8443}
2016-03-09 17:07:33.496  INFO 28359 --- [Thread-12] application                              : Destroying Spring FrameworkServlet 'dispatcherServlet'
2016-03-09 17:07:33.496  INFO 28359 --- [Thread-12] o.e.jetty.server.handler.ContextHandler  : Stopped o.s.b.c.e.j.JettyEmbeddedWebAppContext@3d3969ea{/,file:/tmp/jetty-docbase.5267015092605924805.8443/,UNAVAILABLE}

Maven依赖项

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.eclipse.jetty.orbit</groupId>
                    <artifactId>javax.servlet</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.eclipse.jetty.aggregate</groupId>
                    <artifactId>jetty-all</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.apache.drill.exec</groupId>
            <artifactId>drill-jdbc</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>hadoop-common</artifactId>
                    <groupId>org.apache.hadoop</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>hadoop-client</artifactId>
                    <groupId>org.apache.hadoop</groupId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <!-- used to update stopwatch -->
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.20.0-GA</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.drill</groupId>
            <artifactId>drill-common</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>hadoop-common</artifactId>
                    <groupId>org.apache.hadoop</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>hadoop-client</artifactId>
                    <groupId>org.apache.hadoop</groupId>
                </exclusion>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>


    </dependencies>

对于为什么spring boot REST API可能会停止有什么想法吗?我的maven依赖关系是根据演示的--而且它正在成功运行--这就是为什么服务在随机时间后停止的原因,这是没有意义的。

用于Spring Boot的日志记录设置是

logging.level.org.springframework.web = DEBUG
logging.level.org.hibernate = ERROR
logging.file = /home/REST/Logging.log

共有1个答案

左丘照
2023-03-14

根本原因是我与MySQL的连接停顿

spring.xxx.datasource.testOnBorrow=true
spring.xxx.datasource.validationQuery=SELECT 1

更多详情请访问https://docs.spring.io/spring-ldap/docs/1.3.2.release/reference/html/pooling.html

 类似资料:
  • 我有6个集装箱在码头群中运行。Kafka Zookeeper、MongoDB、A、B、C和接口。接口是来自公共的主要访问点-只有这个容器发布端口-5683。接口容器在启动期间连接到A、B和C。我使用docker组合文件docker堆栈部署,每个服务都有一个名称,用作接口的主机。一切都开始顺利,运转良好。过了一段时间(20分钟、1小时……),我无法向接口提出请求。接口接收到我的请求,但应用程序与服务

  • 我们在让后台服务工作方面遇到了一些麻烦。即使在应用程序关闭和手机锁定的情况下,计时器也应该每秒执行一次代码。只要应用程序打开或在后台,手机正在使用,这就可以正常工作,但当手机被锁定并处于待机状态时,服务会在一段时间后自动停止。 代码是根据以下示例建模的:http://arteksoftware.com/backgrounding-with-xamarin-forms/ 然后,在PCL中: 最后,当

  • 我有4个Kafka和debezium一起运行。经过几天的良好运行后,三台kafka机器脱离网络一段时间,在< code > connect distributed . out 日志文件中,我收到了许多包含以下错误的消息: 我有4台Kafka机器,经纪人从0到3 动物园管理员: <代码>192.168.240.70 关注我的 - 除了之外,有相同的 指向安装 Kafka 的计算机的相同 IP,并且

  • 问题内容: 在我的组织中,我们有许多Redis工作人员来完成我们的关键任务。通常,一天一次或两次,我们的工人会停止处理队列。 该代码基本上如下所示: 如果看到的话,就代码而言,发生的事情并不多,但是每隔一段时间,队列就会开始建立,并且工作程序不会从队列中弹出任何项目。为设置超时根本没有用,因为我们假设问题出在Redis客户端连接上。 目前,我们已经建立了一些侦听器,这些侦听器会在队列建立时提醒我们

  • 问题内容: 我想创建一个服务,该服务会在10秒钟后反复运行一种方法,直到我将其停止为止,即使该应用已关闭也是如此。我的尝试代码如下 这就是我启动服务的方式。 该程序立即停止运行;如何更改代码以获得所需的行为? 问题答案: 创建一个广播接收器,在接收到来自以下站点的广播后,它将启动您的服务: 当您启动应用程序时,第一次启动广播接收器: 还将其添加到清单文件中: 如果您希望在资源可用时立即由Andro

  • 我们有HDP集群版本2.6.4和3 zookeeper服务器版本3.4.x 第一个 Zookeeper 服务器无法正常工作,并在一段时间后弯腰 从ambari GUI中,我们可以看到动物园断开了连接 从动物园管理员日志中我们可以看到以下内容: 当我们为动物园管理员进行测试时,我们得到了: 请注意,发送比我们从Received得到的要少得多 我们可以看到许多CLOSE-WAIT连接 为了尝试解决此问