/ / Initialisation d'objets coûteux au démarrage d'une application de lecture - playframework, playframework-2.0, playframework-2.2

Initialisation d'objets coûteux au démarrage d'une application de jeu - playframework, playframework-2.0, playframework-2.2

J'essaie d'implémenter un service de routage avecCadre de jeu 2.2. Par conséquent, j'ai un objet singleton graphique assez coûteux qui doit être instancié lorsque l'application de lecture est déployée et démarrée. L'instanciation du graphique nécessite env. 10 à 15 minutes, le chargement de tous les nœuds, arêtes et restrictions en mémoire, et je ne veux pas déclencher cela lorsque la première requête API GET arrivera à coup sûr.

De plus, je veux être capable de réagir si la première requête GET arrive et que le graphique n’est pas encore chargé, renvoyant un code d'erreur (HTTP 503 ou quelque chose comme ça).

Juste une idée: faut-il le faire en Application() Constructeur? Je demande parce que l'application n'a pas de constructeur hors de la boîte et je suppose que cela a une certaine intention. Le constructeur doit-il être privé alors?

Réponses:

5 pour la réponse № 1

Certainement pas dans Application.

Écris-le dans Global.onStart:

(Java) http://www.playframework.com/documentation/2.2.x/JavaGlobal

(Scala) https://www.playframework.com/documentation/2.2.x/ScalaGlobal