java - Tomcat停止前等待某个函数运行结束的问题
黄舟
黄舟 2017-04-18 10:38:15
0
3
892
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(3)
阿神

En fait, ce problème peut être ignoré. J'ai rencontré ce problème. Les réponses que j'ai trouvées à ce moment-là étaient :

  1. https://github.com/relayrides...

  2. https://github.com/netty/nett...

Le mien est un programme Spring, et un SmartLifecycle est enregistré, qui est appelé lorsque le programme s'arrête :

try {

  GlobalEventExecutor.INSTANCE.awaitInactivity(5L, TimeUnit.SECONDS);
  LOGGER.info("Close {}", GlobalEventExecutor.class.getName());

} catch (Exception e) {

  LOGGER.warn("Error happened when close {}", GlobalEventExecutor.class.getName());
  LOGGER.warn(ExceptionUtils.getStackTrace(e));

}

try {

  ThreadDeathWatcher.awaitInactivity(5L, TimeUnit.SECONDS);
  LOGGER.info("Close {}", ThreadDeathWatcher.class.getName());

} catch (Exception e) {

  LOGGER.warn("Error happened when close {}", ThreadDeathWatcher.class.getName());
  LOGGER.warn(ExceptionUtils.getStackTrace(e));

}

Si vous êtes un servlet, vous devriez avoir un écouteur similaire. Faites simplement cela dans l'écouteur.

洪涛


Accès illégal, vérifiez si les autorisations de votre Tomcat sont activées

伊谢尔伦

La raison du problème est la suivante, car netty est fermé de manière asynchrone, donc après la fermeture du servlet Tomcat, netty n'est pas encore fermé, donc cette erreur se produit. Réglez simplement Netty pour qu'il se synchronise. Mais maintenant, il y a toujours un avertissement lorsque la synchronisation est désactivée :

严重 [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [electric] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@6c9a20a]) and a value of type [io.netty.util.internal.InternalThreadLocalMap] (value [io.netty.util.internal.InternalThreadLocalMap@59404c7b]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.

Je ne sais pas par où commencer. . .

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal