本文整理汇总了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;未经允许,请勿转载。 |
请发表评论