当前位置: 首页>>代码示例>>Java>>正文


Java ConnectableFlux类代码示例

本文整理汇总了Java中reactor.core.publisher.ConnectableFlux的典型用法代码示例。如果您正苦于以下问题:Java ConnectableFlux类的具体用法?Java ConnectableFlux怎么用?Java ConnectableFlux使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ConnectableFlux类属于reactor.core.publisher包,在下文中一共展示了ConnectableFlux类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: test4

import reactor.core.publisher.ConnectableFlux; //导入依赖的package包/类
@Test
public void test4() {
    SomeFeed<PriceTick> feed = new SomeFeed<>();
    Flux<Object> priceFlux = Flux.create(emitter ->
    {
        SomeListener l = new SomeListener() {
            @Override
            public void priceTick(PriceTick event) {
                emitter.next(event);
            }

            @Override
            public void error(Throwable throwable) {
                emitter.error(throwable);
            }

        };
        feed.register(l);
    }, FluxSink.OverflowStrategy.LATEST);
    ConnectableFlux<Object> connectableFlux = priceFlux.publish();
    connectableFlux.connect();
    connectableFlux.subscribe(System.out::println);
}
 
开发者ID:vgrazi,项目名称:reactive-demo,代码行数:24,代码来源:Samples.java

示例2: advancedConnectable

import reactor.core.publisher.ConnectableFlux; //导入依赖的package包/类
@Test
public void advancedConnectable() throws InterruptedException {
	Flux<Integer> source = Flux.range(1, 3)
	                           .doOnSubscribe(s -> System.out.println("subscribed to source"));

	ConnectableFlux<Integer> co = source.publish();

	co.subscribe(System.out::println, e -> {}, () -> {});
	co.subscribe(System.out::println, e -> {}, () -> {});

	System.out.println("done subscribing");
	Thread.sleep(500);
	System.out.println("will now connect");

	co.connect();
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:17,代码来源:GuideTests.java

示例3: test

import reactor.core.publisher.ConnectableFlux; //导入依赖的package包/类
@Test
public void test() throws InterruptedException {
    SomeFeed<PriceTick> feed = new SomeFeed<>();
    Flux<PriceTick> flux =
            Flux.create(emitter ->
            {
                SomeListener listener = new SomeListener() {
                    @Override
                    public void priceTick(PriceTick event) {
                        emitter.next(event);
                        if (event.isLast()) {
                            emitter.complete();
                        }
                    }

                    @Override
                    public void error(Throwable e) {
                        emitter.error(e);
                    }
                };
                        feed.register(listener);
    }, FluxSink.OverflowStrategy.LATEST);
    ConnectableFlux connectable = flux.publish();
    connectable.subscribe(x -> System.out.println("1st " + x));
    Thread.sleep(1000);
    connectable.subscribe(x -> System.out.println("2nd " + x));
    connectable.connect();

}
 
开发者ID:vgrazi,项目名称:reactive-demo,代码行数:30,代码来源:ReactorTests.java

示例4: testMultiReceiver

import reactor.core.publisher.ConnectableFlux; //导入依赖的package包/类
@Test
public void testMultiReceiver() throws Exception {
	Hooks.onOperatorDebug();
	try {

		ConnectableFlux<?> t = Flux.empty()
		    .then(Mono.defer(() -> {
			    throw new RuntimeException();
		    })).flux().publish();

		t.map(d -> d).subscribe(null,
				e -> Assert.assertTrue(e.getSuppressed()[0].getMessage().contains
						("\t|_\tFlux.publish")));

		t.filter(d -> true).subscribe(null, e -> Assert.assertTrue(e.getSuppressed()[0].getMessage().contains
				("\t\t|_\tFlux.publish")));
		t.distinct().subscribe(null, e -> Assert.assertTrue(e.getSuppressed()[0].getMessage().contains
				("\t\t\t|_\tFlux.publish")));

		t.connect();
	}
	finally {
		Hooks.resetOnOperatorDebug();
	}
}
 
开发者ID:reactor,项目名称:reactor-core,代码行数:26,代码来源:HooksTraceTest.java

示例5: freeFlowEmps

import reactor.core.publisher.ConnectableFlux; //导入依赖的package包/类
@Override
public ConnectableFlux<String> freeFlowEmps() {
	 Vector<String> rosterNames = new Vector<>();
	 Function<Employee, String> familyNames = (emp) -> emp.getLastName().toUpperCase();
	 ConnectableFlux<String> flowyNames = Flux.fromIterable(employeeDaoImpl.getEmployees()).log().map(familyNames).cache().publish();
	// flowyNames.subscribe(System.out::println);
	 flowyNames.subscribe(rosterNames::add);
	 System.out.println(rosterNames);
	return flowyNames;
}
 
开发者ID:PacktPublishing,项目名称:Spring-5.0-Cookbook,代码行数:11,代码来源:EmployeeHotStreamServiceImpl.java

示例6: create

import reactor.core.publisher.ConnectableFlux; //导入依赖的package包/类
@Test
public void create() throws InterruptedException {
	SomeFeed<PriceTick> feed = new SomeFeed<>();
	Flux<PriceTick> flux =
			Flux.create(emitter ->
			{
				SomeListener listener = new SomeListener() {
					@Override
					public void priceTick(PriceTick event) {
						emitter.next(event);
						if (event.isLast()) {
							emitter.complete();
						}
					}

					@Override
					public void error(Throwable e) {
						emitter.error(e);
					}};
				feed.register(listener);
			}, FluxSink.OverflowStrategy.BUFFER);

	ConnectableFlux<PriceTick> hot = flux.publish();

	hot.subscribe(priceTick -> System.out.printf("%s %4s %6.2f%n", priceTick
			.getDate(), priceTick.getInstrument(), priceTick.getPrice()));

	hot.subscribe(priceTick -> System.out.println(priceTick.getSequence() +
			": " + priceTick.getInstrument()));
	hot.connect();
	Thread.sleep(5000);
}
 
开发者ID:simonbasle-demos,项目名称:reactor-by-example,代码行数:33,代码来源:CustomSourceSnippets.java

示例7: freeFlowEmps

import reactor.core.publisher.ConnectableFlux; //导入依赖的package包/类
public ConnectableFlux<String> freeFlowEmps(); 
开发者ID:PacktPublishing,项目名称:Spring-5.0-Cookbook,代码行数:2,代码来源:EmployeeHotStreamService.java


注:本文中的reactor.core.publisher.ConnectableFlux类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。