远程Web服务被称为每分钟无我打电话给他们

问题描述 投票:0回答:2

我有一个春天的启动项目。我远程部署我的项目作为在tomcat的一个罐子。我在远程服务器上运行该脚本部署的jar:

#!/ bin / sh的

/usr/local/java8/jdk1.8.0_71/bin/java罐子-Duser.timezone =欧洲/雅典example.jar> log.out

整个项目工作正常,但有时Web服务没有我做的事情或者具有调度要求他们自动调用。

例如在我的控制器类中的方法

@RequestMapping(value = "/heartbeat")
public ResponseEntity<String> heartbeat() {
    Log.info("heartbeat");
    return new ResponseEntity<>("success", org.springframework.http.HttpStatus.OK);

}

当项目被远程部署,我可以从这种方法获取调用每分钟的日志中看到,即使没有人在呼唤它:

19年2月5日15:23:22.721 INFO HTTP-NIO-8044-EXEC-9的TestController:238 - 心跳

19年2月5日15:24:22.133 INFO HTTP-NIO-8044-EXEC-1的TestController:238 - 心跳

19年2月5日15:25:22.426 INFO HTTP-NIO-8044-EXEC-8的TestController:238 - 心跳

19年2月5日15:26:22.782 INFO HTTP-NIO-8044-EXEC-7的TestController:238 - 心跳

19年2月5日15:27:22.179 INFO HTTP-NIO-8044-EXEC-5的TestController:238 - 心跳

在我的POM和属性我不能找到相关的调度。还没有我的控制器方法被注解为@Scheduled。有任何想法吗?

application.properties

management.context-path=/internal/manage
management.security.enabled=false
endpoints.health.id = health
endpoints.health.sensitive = true
endpoints.health.enabled = true
endpoints.info.id=info
endpoints.info.sensitive=false
endpoints.info.enabled=true
info.app.name=Test app name
info.app.description=Test project
endpoints.actuator.enabled=true
spring.application.admin.enabled=true
endpoints.hypermedia.enabled=true
management.info.git.mode=full
java spring spring-boot tomcat jar
2个回答
0
投票

它可以一kubernetes活力探测器,如果最终点/心跳配置为生动活泼探头,kubernetes投票结束点在每一个配置的时间间隔来检查服务是否还活着。你的情况,这是一个分钟。

如果你不是在kubernetes环境,终点可通过监控系统调用来检查健康。


0
投票

使用/internal/manage/trace.json终点后,我发现,Web服务是由heatlh状态工具调用。我只是不知道我们使用这个工具。

© www.soinside.com 2019 - 2024. All rights reserved.