Ich entwickle Java REST Web Service mit Spring und Hibernate. Ich muss ein Feature implementieren, um eine zukünftige Aufgabe zu planen. Zum Beispiel, wenn Benutzer sich in meiner Bewerbung anmelden, muss ich ihm für die ersten sechs Monate 100 virtuelle Gutschriften auf sein Konto gutschreiben. So gibt es einige ähnliche Merkmale.Wie Implementierte geplanten Task in Spring Web Service?
Ich denke wie TimerTask
kann für diese Funktion verwendet werden. Das Problem ist, wenn ich Timer
für jeden Benutzer erstellen, der sich anmeldet, kann ich Timer
eines bestimmten Benutzers nicht stoppen, wenn er inaktiv wird und es scheint, als ob er Thread im Speicher ablegt. Wenn sich 1000 Benutzer anmelden, wird es 1000 TimerTask
Threads geben.
Wie implementiert man diese Art von Feature mit Spring oder Java? Ich sollte die volle Kontrolle über den Thread haben, ich kann Thread stoppen wenn ich will.
platzieren und Sie sind sicher, dass dies lange Ihr Programm ohne die Notwendigkeit ausgeführt wird? Ich denke, Sie brauchen eher eine Lösung, um diese Daten irgendwo zu speichern und regelmäßig die Zeitbedingungen zu überprüfen –
Ja. Ich benutze Tomcat Server. Es wird irgendwann abstürzen und gehen, dann muss ich Server neu starten, um es zurück zu bekommen. – Mdumanoj
siehe https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html – rvit34