zoukankan      html  css  js  c++  java
  • Reactor系列(四)subscribe订阅

    #java# #reactor# #subcribe# #订阅#

    视频讲解 :https://www.bilibili.com/video/av79117693/

    FluxMonoTestCase.java
    package com.example.reactor;
    
    import lombok.extern.slf4j.Slf4j;
    import org.junit.jupiter.api.Test;
    import org.reactivestreams.Subscriber;
    import org.reactivestreams.Subscription;
    import reactor.core.publisher.Flux;
    
    @Slf4j
    public class FluxMonoTestCase extends BaseTestCase {
        @Test
        public void subscribe(){
            Flux<String> stringFlux = Flux.just("Hello","World");
            //stringFlux.subscribe(System.out::println);
            //订阅方式一
            stringFlux.subscribe(val ->{
                log.info("val:{}",val);
            },error ->{
                log.error("error:{}",error);
            },() ->{
                log.info("Finished");
            },subscription -> {
                subscription.request(1);
            });
            //订阅方式二
            stringFlux.subscribe(new Subscriber<String>() {
                @Override
                public void onSubscribe(Subscription subscription) {
                    subscription.request(Long.MAX_VALUE);
                }
                @Override
                public void onNext(String s) {
                    log.info("onNext:{}",s);
                }
                @Override
                public void onError(Throwable throwable) {
                }
                @Override
                public void onComplete() {
                    log.info("onComplete");
                }
            });
        }
    }
    BaseTestCase.java
    package com.example.reactor;
    
    import java.util.Arrays;
    import java.util.List;
    
    public class BaseTestCase {
        protected static final List<Employee> list = Arrays.asList(
                new Employee(1, "Alex", 1000),
                new Employee(2, "Michael", 2000),
                new Employee(3, "Jack", 1500),
                new Employee(4, "Owen", 1500),
                new Employee(5, "Denny", 2000));
    }

    关注公众号,坚持每天3分钟视频学习

  • 相关阅读:
    mysql 权限问题
    触发器作用
    带有循环功能的存储过程
    带有条件判断的存储过程
    数据存储 三大范式-----------待续
    存储过程自 带条件判断的存储过程
    线程异步更新UI
    TextBox只能输入数字
    C#中无边框窗体移动或拖控件移动窗体
    classloader原理
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/12037519.html
Copyright © 2011-2022 走看看