2016-07-26 2 views
-1

J'ai un point de terminaison api de repos de type "String". Dans le corps de la méthode endpoint, j'ai implémenté un objet ScheduledThreadPoolExecutor qui s'exécute toutes les 20 minutes pour écrire dans une base de données. Cependant, lorsque je déploie l'API et exécute le point de terminaison, même si le point de terminaison renvoie la chaîne qu'il est censé utiliser, la base de données ne sera jamais remplie. J'ai exécuté exactement le même code ScheduledThreadPoolExecutor dans un programme java simple et il écrit dans la base de données parfaitement, donc je sais que cela ne peut pas être à cause du code de programmation. Est-ce que quelqu'un sait quel peut être le problème? Merci!ScheduledThreadPoolExecutor ne fonctionne pas dans l'API REST

+0

Veuillez donner des détails plus spécifiques à votre problème (exemples de code et sorties). Cela permettra d'aider à résoudre votre problème. Merci! – bpachev

Répondre

0

Vous devez contenir une référence à l'objet ScheduledThreadPoolExecutor dans un champ statique de votre classe de ressources. Démarrez ensuite le temporisateur dans le constructeur de votre classe de ressources. Notez que votre classe de ressources doit être un Singleton annoté avec l'annotation @Singleton. Sinon, la minuterie se réinitialisera chaque fois que vous recevez une demande d'un client.