Service Java avec outil GUI


J'ai une application avec GUI. L'interface graphique est utilisée uniquement pour la gestion des paramètres. Maintenant, je dois transformer cela en service Windows. J'ai pensé à diviser mon application en 2: service lui-même et GUI-outil pour fournir des paramètres. Le problème principal est que je ne suis pas sûr, comment ces outils devraient "communiquer". Les paramètres sont stockés principalement dans des fichiers, et après l'application de nouveaux paramètres, le service doit redémarrer.
Pour l'instant, j'ai pensé à admin-tool envoyant quelques requêtes au service via TCP / IP, ce qui permet également de contrôler service du réseau. Le problème est que j'ai besoin de coder en dur, ou d'utiliser un fichier texte, pour définir le port par défaut sur lequel le service écouterait les connexions de l'outil d'administration après son installation.
Peut-être y a-t-il une solution alternative, qui est plus appropriée ici?

Author: Natalia, 2013-12-17

1 answers

Vous créez un service. Si tout ce dont vous avez besoin dans la couche de communication est de pouvoir arrêter et démarrer les services, vous n'avez pas besoin d'ouvrir un port et de commencer à écouter. Le système vous donne les moyens de le faire avec des commandes que vous pouvez exécuter. vous parlez de Windows, par exemple, vous pouvez exécuter la commande "sc start MyServiceName" pour démarrer le service "MyServiceName". il existe également une commande appelée "net", qui vous permet de démarrer et arrêter les services. Ces commandes du système d'exploitation peuvent alors être appelées du code java de différentes manières disponibles pour exécuter du code externe.

Voici un lien qui montre comment le faire avec sc commande, vérifier la accepté réponse: démarrer-windows-service-de-java

Voici un autre lien qui montre la différence entre les deux commandes "sc" et "net": net start-service-et-sc-start-quelle-est-la-difference

Notez que " sc " prend en charge le démarrage des services sur des machines distantes: le moyen le plus simple de redémarrer le service sur un ordinateur distant

 2
Author: Community, 2017-05-23 12:25:29