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


Java Cancellation类代码示例

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


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

示例1: shouldStreamDataWithTailableCursor

import reactor.core.Cancellation; //导入依赖的package包/类
/**
 * A tailable cursor streams data using {@link Flux} as it arrives inside the capped collection.
 */
@Test
public void shouldStreamDataWithTailableCursor() throws Exception {

	Cancellation cancellation = repository.findWithTailableCursorBy() //
			.doOnNext(System.out::println) //
			.doOnComplete(() -> System.out.println("Complete")) //
			.doOnTerminate(() -> System.out.println("Terminated")) //
			.subscribe();

	Thread.sleep(100);

	repository.save(new Person("Tuco", "Salamanca", 33)).subscribe();
	Thread.sleep(100);

	repository.save(new Person("Mike", "Ehrmantraut", 62)).subscribe();
	Thread.sleep(100);

	cancellation.dispose();

	repository.save(new Person("Gus", "Fring", 53)).subscribe();
	Thread.sleep(100);
}
 
开发者ID:callistaenterprise,项目名称:spring-react-one,代码行数:26,代码来源:ReactivePersonRepositoryIntegrationTest.java

示例2: internalStreamLogs

import reactor.core.Cancellation; //导入依赖的package包/类
private CFStreamingLogToken internalStreamLogs(String appName, CFApplicationLogListener listener,
		boolean recentLogs) throws CoreException {
	CloudFoundryOperations operations = getV2Operations();
	V2LogListener v2Listener = asV2LogListener(listener);
	Flux<LogMessage> stream = operations.applications()
			.logs(LogsRequest.builder().name(appName).recent(recentLogs).build());
	final Cancellation cancellation = stream.subscribe(v2Listener::onMessage, v2Listener::onError);
	return new CFStreamingLogToken() {

		@Override
		public void cancel() {
			cancellation.dispose();
		}
	};
}
 
开发者ID:eclipse,项目名称:cft,代码行数:16,代码来源:V2Client.java

示例3: scheduleAtFixedRate

import reactor.core.Cancellation; //导入依赖的package包/类
@Override
public ScheduledFuture<?> scheduleAtFixedRate(final Runnable command,
                                              long initialDelay,
                                              long period,
                                              TimeUnit unit) {
	long initialDelayInMs = convertToMillis(initialDelay, unit);
	long periodInMs = convertToMillis(period, unit);
	final AtomicReference<Cancellation> registration = new AtomicReference<>();

	final Runnable task = () -> {
		try {
			command.run();
		} catch (Throwable t) {
			log.error(t.getMessage(), t);
			Cancellation reg;
			if (null != (reg = registration.get())) {
				reg.dispose();
			}
		}
	};

	final Runnable consumer = () -> execute(task);

	final ScheduledFutureTask<?> future = new ScheduledFutureTask<Object>(task, null, initialDelay);
	registration.set(timer.schedulePeriodically(consumer, initialDelayInMs, periodInMs, TimeUnit.MILLISECONDS));
	return future;
}
 
开发者ID:reactor,项目名称:reactor-spring,代码行数:28,代码来源:AbstractAsyncTaskExecutor.java

示例4: scheduleWithFixedDelay

import reactor.core.Cancellation; //导入依赖的package包/类
@Override
public ScheduledFuture<?> scheduleWithFixedDelay(final Runnable command,
                                                 long initialDelay,
                                                 long delay,
                                                 TimeUnit unit) {
	final long initialDelayInMs = convertToMillis(initialDelay, unit);
	final long delayInMs = convertToMillis(initialDelay, unit);
	final ScheduledFutureTask<?> future = new ScheduledFutureTask<Object>(command, null, initialDelayInMs);

	final AtomicReference<Cancellation> registration = new AtomicReference<>();

	final Runnable consumer = new Runnable() {
		final Runnable self = this;

		@Override
		public void run() {
			execute(() -> {
				try {
					future.run();
					timer.schedule(self, delayInMs, TimeUnit.MILLISECONDS);
				} catch (Throwable t) {
					log.error(t.getMessage(), t);
					Cancellation reg;
					if (null != (reg = registration.get())) {
						reg.dispose();
					}
				}
			});
		}
	};

	registration.set(timer.schedule(consumer, initialDelayInMs, TimeUnit.MILLISECONDS));
	return future;
}
 
开发者ID:reactor,项目名称:reactor-spring,代码行数:35,代码来源:AbstractAsyncTaskExecutor.java

示例5: subscribe

import reactor.core.Cancellation; //导入依赖的package包/类
@Override
public boolean subscribe(final MessageHandler handler) {
	Consumer<Message<?>> consumer = handler::handleMessage;
	Cancellation c = Flux.from(processor).subscribe(consumer);
	messageHandlerConsumers.put(handler, c);

	return true;
}
 
开发者ID:reactor,项目名称:reactor-spring,代码行数:9,代码来源:ReactorSubscribableChannel.java

示例6: unsubscribe

import reactor.core.Cancellation; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public boolean unsubscribe(MessageHandler handler) {
	Cancellation control = messageHandlerConsumers.remove(handler);
	if (null == control) {
		return false;
	}
	control.dispose();
	return true;
}
 
开发者ID:reactor,项目名称:reactor-spring,代码行数:11,代码来源:ReactorSubscribableChannel.java

示例7: subscribe

import reactor.core.Cancellation; //导入依赖的package包/类
/**
 * @param consumer
 * @return
 * @see reactor.core.publisher.Mono#subscribe(java.util.function.Consumer)
 */
public final Cancellation subscribe(Consumer<? super T> consumer) {
    return boxed.subscribe(consumer);
}
 
开发者ID:aol,项目名称:cyclops,代码行数:9,代码来源:MonoKind.java

示例8: subscribe

import reactor.core.Cancellation; //导入依赖的package包/类
/**
 * @return
 * @see reactor.core.publisher.Flux#subscribe()
 */
public final Cancellation subscribe() {
    return boxed.subscribe();
}
 
开发者ID:aol,项目名称:cyclops,代码行数:8,代码来源:FluxKind.java


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