本文整理汇总了Java中reactor.core.publisher.ConnectableFlux.subscribe方法的典型用法代码示例。如果您正苦于以下问题:Java ConnectableFlux.subscribe方法的具体用法?Java ConnectableFlux.subscribe怎么用?Java ConnectableFlux.subscribe使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类reactor.core.publisher.ConnectableFlux
的用法示例。
在下文中一共展示了ConnectableFlux.subscribe方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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);
}
示例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();
}
示例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();
}
示例4: 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;
}
示例5: 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);
}