Contexte
Nous voulons utiliser Hazelcast notre mise en œuvre à l'intérieur JCache tomee. Comme nous n'avons pas besoin d'une performance folle, pour l'instant, nous voulons exécuter le noeud Hazelcast dans le cadre de notre application. Nous employons Hazelcast 3.7
et TomEE 7.0.1
.fils Hazelcast empêchent tomee d'arrêter
Problème
Lors de l'arrêt tomee, il se plaint de WARNING - The web application [APPLICATION_NAME] appears to have started a thread named [SOMENAME] but has failed to stop it. This is very likely to create a memory leak.
plusieurs fois et la machine virtuelle ne s'arrêtera pas normalement garder mais en cours d'exécution.
La solution de contournement est évidemment de tuer le processus dès que semble inactif. Inutile de dire que cela rend fou nos développeurs et nos développeurs.
noeud Hazelcast séparé
Pour exclure la possibilité que les problèmes se posent à partir du nœud Hazelcast en cours d'exécution à l'intérieur tomee, j'ai essayé de démarrer un nœud Hazelcast autonome et changé notre application à utiliser uniquement le client Hazelcast pour se connecter audit noeud. Le comportement est resté le même. Autant que je sache à partir de plusieurs recherches sur le Web, le client Hazelcast démarre plusieurs threads, pour communiquer avec les nœuds du serveur.
Aucun duplicata de Hazelcast empêche la machine virtuelle Java de mettre fin à
Cette question n'est pas un double de Hazelcast prevents the JVM from terminating que nous dépendons totalement sur la mise en œuvre Hazelcasts JCache. Nous n'accédons pas directement à l'instance Hazelcast
et par conséquent, nous ne pouvons pas appeler le shutDownAll()
.
test cas
J'ai créé un small test case on GitHub pour reproduire le problème.
Questions
- Peut-on utiliser Hazelcast comme back-end JCache dans une application Java EE?
- Que devons-nous faire pour permettre à l'application de s'arrêter normalement? Peut-on aussi faire fonctionner le nœud Hazelcast dans le cadre de notre application?
- Si non: Pourquoi est-ce une mauvaise idée?
Possible duplication de [Hazelcast empêche la JVM de se terminer] (http://stackoverflow.com/questions/18701821/hazelcast-prevents-the-jvm-from-terminating) –