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