J'ai le code serveur RMI suivant: lorsque le programme ci-dessus est exécuté, il continue à attendre les demandes de clients. Mais ce que je ne comprends pas, c'est ce que le programme ne cesse pas de fonctionner pendant que ce n'est pas dans quelque chose comme tandis que (vrai) {}; code> et comment arrêter de l'écoute, sauf arrêter tout le programme? p> p>
3 Réponses :
Pour l'arrêter, vous devriez appeler
LocateRegistry.getRegistry().unbind("rmi://host:port/name");
Tort. Un déliantage n'est pas suffisant pour l'arrêter à moins que plusieurs autres conditions soient remplies.
@EJP Quelles sont ces conditions?
Tous les objets distants devraient être inexportés. Cela peut être accompli directement, conformément à ma réponse ou via l'opération de DGC et de GC local, s'il n'y a pas de références en direct distantes ou locales aux objets distants.
Mais ce que je ne comprends pas, c'est ce que ce programme continue à fonctionner pendant que ce n'est pas dans quelque chose comme {vrai) {}; et comment l'arrêter d'écouter, sauf arrêter tout le programme? P>
Ceci est fait par un edit strong> non em> - edit strud>
thread de démon code>. Voir: Qu'est-ce que le fil de démon dans Java? Vous pouvez tester le comportement avec ce petit exemple: p>
xxx pré> Le réglage empêche le JVM de s'éteindre. Après
system.out.println ("fini"); code> Vous voyez toujours le thread en cours d'exécution avec son
"réveillé" code> sorties de journal. p> blockQquote>
Pas une réponse. Threads Daemon N'arrêtez pas I> Stop the JVM de quitter: c'est tout le point. Ne répond pas du tout à la question.
Les threads non-démon empêchent la JVM de sortir. Voir Spécification de la langue Java
Qu'est-ce qui fait que la course à pied est un non em> -daemon écoutant le fil a commencé par RMI. Pour la sortir, entrez le nom et les exemplaires à la fois du registre et de l'objet distant, avec UnicastremoteObject.unexportObject (). P>
@ Muhammad Mauvaises réponses Obtenez la bownvote, c'est ainsi que cela fonctionne, et des bowvotes doivent être expliqués (a) comme une courtoisie à leur auteur (B) au profit des autres et c) aux fins de la discussion. Ceci s'appelle «examen par les pairs».