ドッキングコンテナで実行中のSpring Bootプロジェクトに問題があります。デーモン化された(docker run -d)としてコンテナを実行すると、スケジュールされたタスクが機能しません。バックグラウンドでイメージを実行していないときは、すべてが動作しています。 残念なことに、私はdemonizedとして実行する必要があり、私はどのようにその問題を解決するためのアイデアはありません。 は、すべてのソリューション:)ありがとうございSpring Boot予約済みタスクがドッキングコンテナで動作していません
マイスケジュール注釈:これは私のDockerfile @Scheduled(fixedDelay = 1440000)
です:
FROM java:openjdk-8
ENV SPRING_PROFILES_ACTIVE dev,docker
WORKDIR /app
EXPOSE 9000 9000
RUN apt-get update && apt-get -y install cron
RUN service cron start
COPY build/libs/app.jar /app/app.jar
CMD ["/bin/sh", "-c", "java -jar /app/app.jar --spring.profiles.active=$SPRING_PROFILES_ACTIVE"]
両方のシナリオでコンテナを開始するために使用される完全なコマンドで質問を修正できますか?現在の 'Dockerfile'の例では、cronサービスは実際には実行されていません。注釈は、cronではなく、JVM内でスケジュールされて実行されます。この場合、cronは実際には必要ではありません(実際には使用されていないことを確認するために削除します)。 –