Spring과 Hibernate를 사용하여 Java REST Web Service를 개발 중입니다. 향후 작업을 예약하기 위해 기능을 구현해야합니다. 예를 들어, 사용자가 내 애플리케이션에 가입 할 때 처음 6 개월 동안 자신의 계정에 100 개의 가상 크레딧을 부여해야합니다. 이처럼 좀 더 비슷한 기능이 있습니다.스프링 웹 서비스에서 예약 된 작업을 구현하는 방법은 무엇입니까?
나는이 기능으로 TimerTask
을 사용할 수 있다고 생각하고 있습니다. 문제는 내가 가입 한 각 사용자에 대해 Timer
을 만들면 그가 비활성 상태가되고 메모리에 스레드를 버리는 것처럼 보이는 특정 사용자의 Timer
을 멈출 수 없다는 것입니다. 1000 명의 사용자가 등록하면 1000 TimerTask
스레드가 있습니다.
스프링 또는 자바를 사용하여 이러한 종류의 기능을 구현하는 방법은 무엇입니까? 스레드를 완전히 제어해야합니다. 스레드를 중지 할 수 있습니다. 원하는 경우.
같은 @Scheduled 주석을 배치해야하고 당신은 오랫동안 다시 시작 할 필요 또는 실패 강제 재시작없이 프로그램이 실행되고 있는지입니까? 나는이 데이터를 어딘가에 저장하고 정기적으로 시간을 확인하는 솔루션이 필요하다고 생각한다. –
예. Tomcat Server를 사용하고 있습니다. 그것은 언젠가 충돌하고 내려갈 것입니다, 그러면 서버를 다시 시작해야합니다. – Mdumanoj
https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html – rvit34