• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ExecutionContexts类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: createFuture

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
protected <E, T> Future<Either<E, T>> createFuture(Callable <Container<E, T>> cont ) {
	return Futures.future(
			() -> fromContainerToEither( cont.call() ),
			ExecutionContexts.global() 
		);
	
	
}
 
开发者ID:logicaalternativa,项目名称:monad-transformer-and-more,代码行数:9,代码来源:ServiceFutEitherBase.java


示例2: abort

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
@Override
public void abort(final FutureCallback<Void> abortCallback) {
    if (!dataTree.startAbort(this)) {
        abortCallback.onSuccess(null);
        return;
    }

    candidate = null;
    state = State.ABORTED;

    final Optional<List<Future<Object>>> maybeAborts = userCohorts.abort();
    if (!maybeAborts.isPresent()) {
        abortCallback.onSuccess(null);
        return;
    }

    final Future<Iterable<Object>> aborts = Futures.sequence(maybeAborts.get(), ExecutionContexts.global());
    if (aborts.isCompleted()) {
        abortCallback.onSuccess(null);
        return;
    }

    aborts.onComplete(new OnComplete<Iterable<Object>>() {
        @Override
        public void onComplete(final Throwable failure, final Iterable<Object> objs) {
            if (failure != null) {
                abortCallback.onFailure(failure);
            } else {
                abortCallback.onSuccess(null);
            }
        }
    }, ExecutionContexts.global());
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:34,代码来源:SimpleShardDataTreeCohort.java


示例3: canCommit

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
void canCommit(final DataTreeCandidate tip) throws ExecutionException, TimeoutException {
    if (LOG.isTraceEnabled()) {
        LOG.trace("{}: canCommit - candidate: {}", txId, tip);
    } else {
        LOG.debug("{}: canCommit - candidate rootPath: {}", txId, tip.getRootPath());
    }

    final List<CanCommit> messages = registry.createCanCommitMessages(txId, tip, schema);
    LOG.debug("{}: canCommit - messages: {}", txId, messages);
    if (messages.isEmpty()) {
        successfulFromPrevious = ImmutableList.of();
        changeStateFrom(State.IDLE, State.CAN_COMMIT_SUCCESSFUL);
        return;
    }

    final List<Entry<ActorRef, Future<Object>>> futures = new ArrayList<>(messages.size());
    for (CanCommit message : messages) {
        final ActorRef actor = message.getCohort();
        final Future<Object> future = Patterns.ask(actor, message, timeout).recover(EXCEPTION_TO_MESSAGE,
            ExecutionContexts.global());
        LOG.trace("{}: requesting canCommit from {}", txId, actor);
        futures.add(new SimpleImmutableEntry<>(actor, future));
    }

    changeStateFrom(State.IDLE, State.CAN_COMMIT_SENT);
    processResponses(futures, State.CAN_COMMIT_SENT, State.CAN_COMMIT_SUCCESSFUL);
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:28,代码来源:CompositeDataTreeCohort.java


示例4: testFailedRegistration

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
@Test
public void testFailedRegistration() {
    new JavaTestKit(getSystem()) {
        {
            ActorSystem mockActorSystem = mock(ActorSystem.class);

            ActorRef mockActor = getSystem().actorOf(Props.create(DoNothingActor.class), "testFailedRegistration");
            doReturn(mockActor).when(mockActorSystem).actorOf(any(Props.class));
            ExecutionContextExecutor executor = ExecutionContexts.fromExecutor(MoreExecutors.directExecutor());

            ActorContext actorContext = mock(ActorContext.class);
            final YangInstanceIdentifier path = YangInstanceIdentifier.of(TestModel.TEST_QNAME);

            doReturn(executor).when(actorContext).getClientDispatcher();
            doReturn(DatastoreContext.newBuilder().build()).when(actorContext).getDatastoreContext();
            doReturn(mockActorSystem).when(actorContext).getActorSystem();

            String shardName = "shard-1";
            final DataTreeChangeListenerProxy<DOMDataTreeChangeListener> proxy = new DataTreeChangeListenerProxy<>(
                    actorContext, mockListener, path);

            doReturn(duration("5 seconds")).when(actorContext).getOperationDuration();
            doReturn(Futures.successful(getRef())).when(actorContext).findLocalShardAsync(eq(shardName));
            doReturn(Futures.failed(new RuntimeException("mock"))).when(actorContext)
                    .executeOperationAsync(any(ActorRef.class), any(Object.class), any(Timeout.class));
            doReturn(mock(DatastoreContext.class)).when(actorContext).getDatastoreContext();

            proxy.init("shard-1");

            Assert.assertEquals("getListenerRegistrationActor", null, proxy.getListenerRegistrationActor());

            proxy.close();
        }
    };
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:36,代码来源:DataTreeChangeListenerProxyTest.java


示例5: testFailedRegistration

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
@Test
public void testFailedRegistration() {
    new JavaTestKit(getSystem()) {
        {
            ActorSystem mockActorSystem = mock(ActorSystem.class);

            ActorRef mockActor = getSystem().actorOf(Props.create(DoNothingActor.class),
                    "testFailedRegistration");
            doReturn(mockActor).when(mockActorSystem).actorOf(any(Props.class));
            ExecutionContextExecutor executor = ExecutionContexts.fromExecutor(
                    MoreExecutors.directExecutor());


            ActorContext actorContext = mock(ActorContext.class);

            doReturn(executor).when(actorContext).getClientDispatcher();

            String shardName = "shard-1";
            final DataChangeListenerRegistrationProxy proxy = new DataChangeListenerRegistrationProxy(
                    shardName, actorContext, mockListener);

            doReturn(mockActorSystem).when(actorContext).getActorSystem();
            doReturn(duration("5 seconds")).when(actorContext).getOperationDuration();
            doReturn(Futures.successful(getRef())).when(actorContext).findLocalShardAsync(eq(shardName));
            doReturn(Futures.failed(new RuntimeException("mock")))
                .when(actorContext).executeOperationAsync(any(ActorRef.class),
                    any(Object.class), any(Timeout.class));
            doReturn(mock(DatastoreContext.class)).when(actorContext).getDatastoreContext();

            proxy.init(YangInstanceIdentifier.of(TestModel.TEST_QNAME),
                    AsyncDataBroker.DataChangeScope.ONE);

            Assert.assertEquals("getListenerRegistrationActor", null, proxy.getListenerRegistrationActor());

            proxy.close();
        }
    };
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:39,代码来源:DataChangeListenerRegistrationProxyTest.java


示例6: setUp

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
@Before
public void setUp() {
    mockedRemoteSchemaRepository = Mockito.mock(RemoteYangTextSourceProvider.class);
    ExecutionContexts.fromExecutorService(MoreExecutors.newDirectExecutorService());
    remoteSchemaProvider = new RemoteSchemaProvider(mockedRemoteSchemaRepository,
            ExecutionContexts.fromExecutorService(MoreExecutors.newDirectExecutorService()));
}
 
开发者ID:hashsdn,项目名称:hashsdn-controller,代码行数:8,代码来源:RemoteSchemaProviderTest.java


示例7: Telemetry

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
/**
 * Public constructor.
 *
 * @param metricsFactory Instance of <code>MetricsFactory</code>.
 */
@Inject
public Telemetry(final MetricsFactory metricsFactory) {
    _metricsFactory = metricsFactory;
    _metrics = metricsFactory.create();
    _instrument = context().system().scheduler().schedule(
            new FiniteDuration(0, TimeUnit.SECONDS), // Initial delay
            new FiniteDuration(500, TimeUnit.MILLISECONDS), // Interval
            getSelf(),
            "instrument",
            ExecutionContexts.global(),
            getSelf());
}
 
开发者ID:ArpNetworking,项目名称:metrics-aggregator-daemon,代码行数:18,代码来源:Telemetry.java


示例8: onJob

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
private void onJob(final Master.Job job) {
    Cancellable abortLoop = getContext().system().scheduler().schedule(Duration.Zero(), Duration.create(60, TimeUnit.SECONDS),
            () -> {
                runCancelJob(job);
            }, getContext().system().dispatcher());
    ActorRef sender = getSender();
    ExecutorService pool = Executors.newFixedThreadPool(1);
    ExecutionContextExecutorService ctx = ExecutionContexts.fromExecutorService(pool);
    Future<Object> f = future(() -> runJob(job), ctx);
    f.onSuccess(new OnSuccess<Object>() {
        @Override
        public void onSuccess(Object result) throws Throwable {
            log.info("Notify Worker job status {}", result);
            sender.tell(result, getSelf());
            abortLoop.cancel();
        }
    }, ctx);
    f.onFailure(new OnFailure() {
        @Override
        public void onFailure(Throwable throwable) throws Throwable {
            log.error(throwable.toString());
            abortLoop.cancel();
            sender.tell(new Worker.WorkFailed(null), getSelf());
            unhandled(job);
        }
    }, ctx);
}
 
开发者ID:Abiy,项目名称:distGatling,代码行数:28,代码来源:JarExecutor.java


示例9: onJob

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
private void onJob(final Master.Job job) {
    Cancellable abortLoop = getContext().system().scheduler().schedule(Duration.Zero(), Duration.create(60, TimeUnit.SECONDS),
            () -> {
                runCancelJob(job);
            }, getContext().system().dispatcher());
    ActorRef sender = getSender();
    ExecutorService pool = Executors.newFixedThreadPool(1);
    ExecutionContextExecutorService ctx = ExecutionContexts.fromExecutorService(pool);
    Future<Object> f = future(() -> runJob(job), ctx);
    f.onSuccess(new OnSuccess<Object>() {
        @Override
        public void onSuccess(Object result) throws Throwable {
            log.info("Notify Worker job status {}", result);
            sender.tell(result, getSelf());
            abortLoop.cancel();
        }
    }, ctx);
    f.onFailure(new OnFailure() {
        @Override
        public void onFailure(Throwable throwable) throws Throwable {
            log.error(throwable.toString());
            abortLoop.cancel();
            unhandled(job);
        }
    }, ctx);
    //getSender().tell(runJob(message));
}
 
开发者ID:Abiy,项目名称:distGatling,代码行数:28,代码来源:ScriptExecutor.java


示例10: message

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
public static Promise<Result> message() {
    final RedeemablePromise<Result> promise = RedeemablePromise.empty();
    Akka.system().scheduler().scheduleOnce(
            Duration.create(1, SECONDS),
            new Runnable() {
                public void run() {
                    new CreateTraceEntry().traceEntryMarker();
                    promise.success(Results.ok("Hi!"));
                }
            },
            ExecutionContexts.global());
    return promise;
}
 
开发者ID:glowroot,项目名称:glowroot,代码行数:14,代码来源:AsyncController.java


示例11: nonBlockingAggregator

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
/**
 * Sample usage: curl "http://localhost:9080/aggregate-non-blocking-rx?minMs=1000&maxMs=2000"
 */
@RequestMapping("/aggregate-non-blocking-akkafutures")
public DeferredResult<String> nonBlockingAggregator(
    @RequestParam(value = "dbLookupMs", required = false, defaultValue = "0")    int dbLookupMs,
    @RequestParam(value = "dbHits",     required = false, defaultValue = "3")    int dbHits,
    @RequestParam(value = "minMs",      required = false, defaultValue = "0")    int minMs,
    @RequestParam(value = "maxMs",      required = false, defaultValue = "0")    int maxMs) throws IOException {

    DbLookup dbLookup = new DbLookup(dbLookupMs, dbHits);
    DeferredResult<String> deferredResult = new DeferredResult<>();

    String url = SP_NON_BLOCKING_URL + "?minMs=" + minMs + "&maxMs=" + maxMs;

    ExecutionContext dbEc = ExecutionContexts.fromExecutor(dbThreadPoolExecutor);

    future(dbLookup::executeDbLookup, dbEc)
        .map(mapper(noOfCalls -> IntStream.range(0, noOfCalls)), ec)
        .flatMap(mapper(intStream ->
            Futures.sequence(intStream.mapToObj(n ->
                doAsyncCall(url, 3)
            ).collect(Collectors.toList()), ec)
        ), ec)
        .map(mapper(responses ->
            StreamSupport.stream(responses.spliterator(), false)
                .filter(Optional::isPresent)
                .map(Optional::get)
                .map(this::getResponseBody)
                .collect(Collectors.toList())
        ), ec)
        .onComplete(completer(
                deferredResult::setErrorResult,
                results -> deferredResult.setResult(getTotalResult(results))
        ), ec);

    return deferredResult;
}
 
开发者ID:callistaenterprise,项目名称:blog-reactive,代码行数:39,代码来源:AggregatorNonBlockingAkkaFuturesController.java


示例12: provideExecutionContextExecutorService

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
@Provides
ExecutionContextExecutorService provideExecutionContextExecutorService(
  @Named(PROPERTIES_PREFIX + "job.max_threads") int maxThreads
) {
  return ExecutionContexts.fromExecutorService(Executors.newFixedThreadPool(maxThreads));
}
 
开发者ID:gbif,项目名称:occurrence,代码行数:7,代码来源:DownloadWorkflowModule.java


示例13: setUp

import akka.dispatch.ExecutionContexts; //导入依赖的package包/类
/**
 * @throws java.lang.Exception
 */
@Before
public void setUp() throws Exception {
	
	ExecutionContextExecutor ec = ExecutionContexts.global();		
	
	srvSummary = SrvSummarySFutError.apply(srvBook, srvSales, srvChapter, srvAuthor, ec);
	
	
}
 
开发者ID:logicaalternativa,项目名称:monad-transformer-and-more,代码行数:13,代码来源:SrvSummarySFutErrorTest.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java UiUtils类代码示例发布时间:2022-05-22
下一篇:
Java ContactID类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap