文档章节

Spring Boot / Spring Cloud 项目中获取本项目端口号

Anur
 Anur
发布于 09/13 23:42
字数 254
阅读 185
收藏 10
import org.springframework.boot.context.embedded.EmbeddedServletContainerInitializedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.Assert;

/**
 * @author jiangzeyin
 * @create 2017 02 14 12:44
 */
@Configuration
public class ServiceInfoUtil implements ApplicationListener<EmbeddedServletContainerInitializedEvent> {
    private static EmbeddedServletContainerInitializedEvent event;

    @Override
    public void onApplicationEvent(EmbeddedServletContainerInitializedEvent event) {
        ServiceInfoUtil.event = event;
    }

    public static int getPort() {
        Assert.notNull(event);
        int port = event.getEmbeddedServletContainer().getPort();
        Assert.state(port != -1, "端口号获取失败");
        return port;
    }
 }

这是Spring Boot 2.0.0 M1之前获取本项目端口的方法 然而在Spring Boot 2.0.0 M1之后,EmbeddedServletContainerInitializedEvent已经改名 我们参考https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0.0-M4-Release-Notes 中说道:

Embedded containers package structure

In order to support reactive use cases, the embedded containers package structure has been refactored quite extensively. EmbeddedServletContainer has been renamed to WebServer and the org.springframework.boot.context.embedded package has been relocated to org.springframework.boot.web.embedded. For instance, if you were customizing the embedded Tomcat container using the TomcatEmbeddedServletContainerFactory callback interface, you should now use TomcatServletWebServerFactory.

EmbeddedServletContainer 已经改名为WebServer 了

所以新代码如下:

package com.anur.messageserver.config;

import org.springframework.boot.web.context.WebServerInitializedEvent;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;

/**
 * Created by Anur IjuoKaruKas on 2018/5/8
 */
@Component
public class IpConfiguration implements ApplicationListener<WebServerInitializedEvent> {

    private int serverPort;

    @Override
    public void onApplicationEvent(WebServerInitializedEvent event) {
        this.serverPort = event.getWebServer().getPort();
    }

    public int getPort() {
        return this.serverPort;
    }
}

参考文章:Spring Boot 在程序中获取启动端口号

© 著作权归作者所有

共有 人打赏支持
Anur
粉丝 27
博文 34
码字总数 42348
作品 0
深圳
私信 提问
Eureka学习(一)--Eureka 服务器

spring-cloud Netflix 的主要模块: 服务发现:Eureka 断路器/降级:Hystrix 智能路由:Zuul 负载均衡:Ribbon 本文章将学习Eureka服务器端。 第一步:搭建项目,配置 pom.xml 第二步:配置 ...

FinalSmart
07/12
0
0
升级微服务架构1:搭建Eureka Server服务中心

  Spring Cloud中使用Eureka来做服务注册和发现,来统一管理微服务实例。   1.使用IDEA创建一个空的Maven项目做父模块   (也可以不用父项目,所有模块都用平行结构)      删除父...

唐 森
08/22
0
0
Spring Cloud配置中心

Spring Cloud配置中心(Config) Spring Cloud是现在流行的分布式服务框架,它提供了很多有用的组件。比如:配置中心、Eureka服务发现、 消息总线、熔断机制等。 配置中心在Spring Cloud的众...

Java同学会
06/21
0
0
spring boot2.0.4 踩的两个坑

端口号 8090 的时候,请求接口都报 405 ,其他端口正常 对应 issue https://github.com/spring-projects/spring-boot/issues/14195 提 issue 的老兄也遇到了, 不过官方没有复现出来 注解注册...

holysu
09/10
0
0
疯狂Spring Cloud连载(14)Spring Cloud整合Feign

本文节选自《疯狂Spring Cloud微服务架构实战》 京东购买地址:https://item.jd.com/12256011.html 当当网购买地址:http://product.dangdang.com/25201393.html Spring Cloud教学视频:htt...

杨大仙的程序空间
2017/10/29
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Gradle 提速:每天为你省下一杯喝咖啡的时间

摘要: ### 前言 作为一名 Android 开发同学,当你的工程和代码达到一定规模的时候,相信你一定遇到过编译速度过慢的问题。比如: ![](https://user-gold-cdn.xitu.io/2018/11/6/166e7021c0...

阿里云官方博客
31分钟前
2
0
在 PHPStorm 中如何对远程服务使用 xdebug 进行断点调试

1. 安装 xdebug 1.1. 下载、安装 ➜ ~ wget https://xdebug.org/files/xdebug-2.4.1.tgz➜ ~ tar zxf xdebug-2.4.1.tgz➜ ~ cd xdebug-2.4.1➜ ~ phpize➜ ~ ./configure --with-ph......

whoru
33分钟前
2
0
看完这篇文章还不懂Python装饰器?

1、必备 2.需求来了 初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作、redis调用、监控API等功能。业务部门使用基础功能时,只需调用基础平台提供的功...

糖宝lsh
39分钟前
5
0
Bytom合约预编译

比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在开发合约的过程中你们有没有遇到一些问题呢?比如编译合约的过程中不能...

比原链Bytom
40分钟前
3
0
supervisor安装配置

supervisor安装配置 安装 wget -c https://files.pythonhosted.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gztar -zxvf su......

jackmanwu
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部