Java Spring Scheduler在PCF服务器中不起作用

问题描述 投票:1回答:1

[我有一个Spring Boot项目,其中Spring Scheduler运行良好,因为我已经使用Cron表达式在本地系统的Scheduler方法中添加了logger。

问题:

当在PCF(Pivotal Cloud Foundary)上部署了相同的spring boot应用程序时,它不会启用调度程序,并且不会打印任何日志,在与调度程序相关的pcf日志中也不会显示任何错误。

虽然我通过邮递员打了任何控制器,但日志正在打印,但不是调度程序。

我还为应用程序中pcf环境变量中的每分钟提供了cron表达式值,并重新启动了应用程序。但这没有帮助。

有人可以在这个问题上建议我吗?

感谢您的宝贵时间!

java spring spring-boot scheduler pcf
1个回答
0
投票

当您在PCF Cloud空间中部署应用程序时,它会获取您的代码,除非用户明确提供,否则将对可用的buildpack进行扫描,然后使用代码,build-pack和基本容器创建一个容器映像(也称为Droplet)。

如果使用cloud config来管理Spring Boot Scheduler的配置,它将使用自动配置在运行时加载属性。在某些情况下,由于操作系统配置和运行时这些配置的加载不同,您的应用期望的时区与服务器可以理解的时区之间将不匹配。

大部分时间可以通过在推送应用程序时在PCF清单文件或命令行中显式定义时区配置来解决。

例如设置环境TZ变量。

cf set-env {app-name} TZ 'America/Chicago'

或通过在manifest.yml文件中添加以下内容:

env:TZ:美国/芝加哥

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