En programmant le redémarrage de Printemps de l'application de Démarrage / d'Actualisation Printemps Contexte

Je suis en train d'en programmant le redémarrage de mon Ressort de l'Application sans avoir à l'utilisateur d'intervenir.

En gros, j'ai une page qui permet de changer de mode de l'application (en fait, le sens de la commutation du mode actuellement actif) et comme je le comprends, je dois redémarrer le contexte.

Actuellement mon code est très simple, c'est juste pour le redémarrage de bits (c'est Kotlin par la voie):

    context.close()
    application.setEnvironment(context.environment)
    ClassUtils.overrideThreadContextClassLoader(application.javaClass.classLoader)
    context = application.run(*argsArray)

Cependant le moment, je fais context.close() la JVM existe immédiatement. J'ai aussi essayé de context.refresh() mais qui semble tout simplement tuer Tomcat/Jetty (essayé les deux, juste au cas où c'était un Tomcat problème) et puis rien ne se passe.

J'ai également vu Redémarrer par programme du Printemps de Démarrage de l'application mais rien ne semble fonctionner pour moi à partir de ces réponses. En outre, j'ai regardé dans l'Actionneur qui soi-disant a la /restart point de terminaison, mais qui ne semble pas être plus là?

Aide serait grandement appréciée. Merci.

  • Je viens de lire quelque chose à propos de printemps-cloud dernière fois et il y avait un refresh endpoint qui rafraîchit al les haricots dans le contexte. Peut-être que vous trouverez quelque chose d'utile. Actualiser la Portée
  • Pourquoi est-ce tagged "java" ?
  • Parce que je n'ai pas de soins si quelqu'un avait une solution en Java ou Kotlin. Kotlin n'a pas de signification dans cette question.
  • Java n'est pas significative non plus... Si vous étiquette de Java il serait bon de fournir une version Java de la solution au moins. (Je peux faire la traduction, mais probablement pas tous les gens qui programme en Java et de la terre ici sera en mesure d')
InformationsquelleAutor Crembo | 2016-09-08