购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.7 RSocketPortInfoApplicationContextInitializer分析

本节将对RSocketPortInfoApplicationContextInitializer进行分析,关于该对象的基础定义代码如下:

public class RSocketPortInfoApplicationContextInitializer
      implements ApplicationContextInitializer<ConfigurableApplicationContext> {}

从对象的基础定义中可以发现并未实现其他接口,下面对ApplicationContextInitializer的实现方法进行说明,详细代码如下:

public void initialize(ConfigurableApplicationContext applicationContext) {
   applicationContext.addApplicationListener(new Listener(applicationContext));
}

在initialize方法中为应用上下文添加了一个应用监听器,应用监听器类型是Listener,关于该监听器的基础定义代码如下:

    private static class Listener implements ApplicationListener<RSocketServerInitia
lizedEvent> {}

在该应用监听器中与之对应的处理事件是RSocketServerInitializedEvent,事件处理代码如下:

    public void onApplicationEvent(RSocketServerInitializedEvent event) {
        if (event.getServer().address() != null) {
            // 设置服务地址的端口
              setPortProperty(this.applicationContext, event.getServer().address().
getPort());
        }
    }

在处理RSocketServerInitializedEvent事件时会判断事件对象的服务地址是否为空,在不为空的情况下会设置属性。设置的属性是服务地址的端口。 5PE7TMSK3p+DwpjE822eKGIYNj3cqkQRBP+cebKANz0g9WysPExezJRAHjroVmRp

点击中间区域
呼出菜单
上一章
目录
下一章
×