Comment obtenir le PRINTEMPS de Démarrage de l'HÔTE et de l'adresse du PORT au moment de l'exécution?
Comment pourrais-je obtenir de l'hôte et le port où mon application est déployée au cours de l'exécution, de sorte que je peux utiliser ma méthode en java?
Comment définissez-vous le port de printemps de démarrage de l'application ?
Arriver au port de cette façon seulement si a) le port est configuré de manière explicite, et b) il n'est pas réglé à 0 (ce qui signifie que le conteneur de servlet va choisir un port aléatoire au démarrage). Pour obtenir le port actuel, vous avez besoin pour mettre en œuvre ApplicationListener<EmbeddedServletContainerInitializedEvent> et obtenez le port de la condition de l'événement. À l'aide de local.server.port au lieu de server.port serait un meilleur choix dans le cas de port aléatoire est utilisé(server.port=0). L'adresse de bouclage(127.0.0.1) est une adresse distante?
Port:
Comme mentionné par Nicolai, vous pouvez récupérer ces informations par l'environnement de la propriété que si elle est explicitement configuré et n'est pas définie à 0.
Vous pouvez obtenir cette information via
Environnement
pour laport
et lahost
vous pouvez obtenir en utilisantInternetAddress
.ApplicationListener<EmbeddedServletContainerInitializedEvent>
et obtenez le port de la condition de l'événement.À l'aide de
local.server.port
au lieu deserver.port
serait un meilleur choix dans le cas de port aléatoire est utilisé(server.port=0
).L'adresse de bouclage(127.0.0.1) est une adresse distante?
OriginalL'auteur Anton Novopashin
Juste un exemple complet pour les réponses ci-dessus
OriginalL'auteur BaiJiFeiLong
Pour l'Hôte:
Comme mentionné par Anton
Port:
Comme mentionné par Nicolai, vous pouvez récupérer ces informations par l'environnement de la propriété que si elle est explicitement configuré et n'est pas définie à 0.
Printemps de la documentation sur le sujet:
https://docs.spring.io/spring-boot/docs/current/reference/html/howto-embedded-servlet-containers.html#howto-discover-the-http-port-at-runtime
Pour la façon de le faire, il a été répondu ici:
Spring Boot - Comment faire pour obtenir l'exécution de port
Et voici un github exemple sur la façon de la mettre en œuvre:
https://github.com/hosuaby/example-restful-project/blob/master/src/main/java/io/hosuaby/restful/PortHolder.java
OriginalL'auteur Pier-Jean Lacharité