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


Java ActionListener.onResponse方法代码示例

本文整理汇总了Java中org.elasticsearch.action.ActionListener.onResponse方法的典型用法代码示例。如果您正苦于以下问题:Java ActionListener.onResponse方法的具体用法?Java ActionListener.onResponse怎么用?Java ActionListener.onResponse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.elasticsearch.action.ActionListener的用法示例。


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

示例1: rethrottle

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
static void rethrottle(String localNodeId, Client client, BulkByScrollTask task, float newRequestsPerSecond,
        ActionListener<TaskInfo> listener) {
    int runningSubTasks = task.runningSliceSubTasks();
    if (runningSubTasks == 0) {
        // Nothing to do, all sub tasks are done
        task.rethrottle(newRequestsPerSecond);
        listener.onResponse(task.taskInfo(localNodeId, true));
        return;
    }
    RethrottleRequest subRequest = new RethrottleRequest();
    subRequest.setRequestsPerSecond(newRequestsPerSecond / runningSubTasks);
    subRequest.setParentTaskId(new TaskId(localNodeId, task.getId()));
    client.execute(RethrottleAction.INSTANCE, subRequest, ActionListener.wrap(r -> {
        r.rethrowFailures("Rethrottle");
        listener.onResponse(task.getInfoGivenSliceInfo(localNodeId, r.getTasks()));
    }, listener::onFailure));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:18,代码来源:TransportRethrottleAction.java

示例2: bulk

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
public void bulk(BulkRequest request, ActionListener<BulkResponse> listener) {
    if (false == expectedHeaders.equals(threadPool().getThreadContext().getHeaders())) {
        listener.onFailure(
                new RuntimeException("Expected " + expectedHeaders + " but got " + threadPool().getThreadContext().getHeaders()));
        return;
    }

    // do everything synchronously, that's fine for a test
    boolean shouldFail = numberOfCallsToFail > 0;
    numberOfCallsToFail--;

    BulkItemResponse[] itemResponses = new BulkItemResponse[request.requests().size()];
    // if we have to fail, we need to fail at least once "reliably", the rest can be random
    int itemToFail = randomInt(request.requests().size() - 1);
    for (int idx = 0; idx < request.requests().size(); idx++) {
        if (shouldFail && (randomBoolean() || idx == itemToFail)) {
            itemResponses[idx] = failedResponse();
        } else {
            itemResponses[idx] = successfulResponse();
        }
    }
    listener.onResponse(new BulkResponse(itemResponses, 1000L));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:25,代码来源:RetryTests.java

示例3: finishAndNotifyListener

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
private void finishAndNotifyListener(ActionListener listener, CopyOnWriteArrayList<ShardResponse> shardsResponses) {
    logger.trace("{}: got all shard responses", actionName);
    int successfulShards = 0;
    int failedShards = 0;
    int totalNumCopies = 0;
    List<ShardOperationFailedException> shardFailures = null;
    for (int i = 0; i < shardsResponses.size(); i++) {
        ReplicationResponse shardResponse = shardsResponses.get(i);
        if (shardResponse == null) {
            // non active shard, ignore
        } else {
            failedShards += shardResponse.getShardInfo().getFailed();
            successfulShards += shardResponse.getShardInfo().getSuccessful();
            totalNumCopies += shardResponse.getShardInfo().getTotal();
            if (shardFailures == null) {
                shardFailures = new ArrayList<>();
            }
            for (ReplicationResponse.ShardInfo.Failure failure : shardResponse.getShardInfo().getFailures()) {
                shardFailures.add(new DefaultShardOperationFailedException(new BroadcastShardOperationFailedException(failure.fullShardId(), failure.getCause())));
            }
        }
    }
    listener.onResponse(newResponse(successfulShards, failedShards, totalNumCopies, shardFailures));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:25,代码来源:TransportBroadcastReplicationAction.java

示例4: masterOperation

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected void masterOperation(final DeleteIndexRequest request, final ClusterState state, final ActionListener<DeleteIndexResponse> listener) {
    final String[] concreteIndices = indexNameExpressionResolver.concreteIndices(state, request);
    if (concreteIndices.length == 0) {
        listener.onResponse(new DeleteIndexResponse(true));
        return;
    }
    // add tenantid to index metadata
    LoginUserContext userInfo = (LoginUserContext)request.getHeader(LoginUserContext.USER_INFO_KEY);
    deleteIndexService.deleteIndices(new MetaDataDeleteIndexService.Request(concreteIndices, userInfo).timeout(request.timeout()).masterTimeout(request.masterNodeTimeout()), new MetaDataDeleteIndexService.Listener() {

        @Override
        public void onResponse(MetaDataDeleteIndexService.Response response) {
            listener.onResponse(new DeleteIndexResponse(response.acknowledged()));
        }

        @Override
        public void onFailure(Throwable t) {
            listener.onFailure(t);
        }
    });
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:23,代码来源:TransportDeleteIndexAction.java

示例5: masterOperation

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected void masterOperation(final BulkCreateIndicesRequest request,
                               final ClusterState state,
                               final ActionListener<BulkCreateIndicesResponse> listener) throws ElasticsearchException {

    if (request.indices().isEmpty()) {
        listener.onResponse(new BulkCreateIndicesResponse(true));
        return;
    }

    final ActionListener<ClusterStateUpdateResponse> stateUpdateListener = new ActionListener<ClusterStateUpdateResponse>() {
        @Override
        public void onResponse(ClusterStateUpdateResponse clusterStateUpdateResponse) {
                listener.onResponse(new BulkCreateIndicesResponse(true));
        }

        @Override
        public void onFailure(Throwable e) {
            listener.onFailure(e);
        }
    };
    createIndices(request, stateUpdateListener);
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:24,代码来源:TransportBulkCreateIndicesAction.java

示例6: doExecute

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected void doExecute(SearchRequest request, ActionListener<SearchResponse> listener) {
    listener.onResponse(new SearchResponse(new InternalSearchResponse(
        new SearchHits(
            new SearchHit[0], 0L, 0.0f),
        new InternalAggregations(Collections.emptyList()),
        new Suggest(Collections.emptyList()),
        new SearchProfileShardResults(Collections.emptyMap()), false, false, 1), "", 1, 1, 0, new ShardSearchFailure[0]));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:10,代码来源:TransportNoopSearchAction.java

示例7: doExecute

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected <Request extends ActionRequest,
                Response extends ActionResponse,
                RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>>
        void doExecute(Action<Request, Response, RequestBuilder> action, Request request, ActionListener<Response> listener) {
    listener.onResponse(null);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:NoOpClient.java

示例8: testFailPhaseOnException

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
public void testFailPhaseOnException() throws IOException {
    AtomicArray<DfsSearchResult> results = new AtomicArray<>(2);
    AtomicReference<AtomicArray<QuerySearchResultProvider>> responseRef = new AtomicReference<>();
    results.set(0, new DfsSearchResult(1, new SearchShardTarget("node1", new Index("test", "na"), 0)));
    results.set(1, new DfsSearchResult(2, new SearchShardTarget("node2", new Index("test", "na"), 0)));
    results.get(0).termsStatistics(new Term[0], new TermStatistics[0]);
    results.get(1).termsStatistics(new Term[0], new TermStatistics[0]);

    SearchPhaseController controller = new SearchPhaseController(Settings.EMPTY, BigArrays.NON_RECYCLING_INSTANCE, null);
    SearchTransportService searchTransportService = new SearchTransportService(
        Settings.builder().put("search.remote.connect", false).build(), null,  null) {

        @Override
        public void sendExecuteQuery(Transport.Connection connection, QuerySearchRequest request, SearchTask task,
                                     ActionListener<QuerySearchResult> listener) {
            if (request.id() == 1) {
                QuerySearchResult queryResult = new QuerySearchResult(123, new SearchShardTarget("node1", new Index("test", "na"), 0));
                queryResult.topDocs(new TopDocs(1, new ScoreDoc[] {new ScoreDoc(42, 1.0F)}, 2.0F), new DocValueFormat[0]);
                queryResult.size(2); // the size of the result set
                listener.onResponse(queryResult);
            } else if (request.id() == 2) {
               throw new UncheckedIOException(new MockDirectoryWrapper.FakeIOException());
            } else {
                fail("no such request ID: " + request.id());
            }
        }
    };
    MockSearchPhaseContext mockSearchPhaseContext = new MockSearchPhaseContext(2);
    mockSearchPhaseContext.searchTransport = searchTransportService;
    DfsQueryPhase phase = new DfsQueryPhase(results, controller,
        (response) -> new SearchPhase("test") {
            @Override
            public void run() throws IOException {
                responseRef.set(response.results);
            }
        }, mockSearchPhaseContext);
    assertEquals("dfs_query", phase.getName());
    expectThrows(UncheckedIOException.class, () -> phase.run());
    assertTrue(mockSearchPhaseContext.releasedSearchContexts.isEmpty()); // phase execution will clean up on the contexts
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:41,代码来源:DfsQueryPhaseTests.java

示例9: AsyncSingleAction

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
AsyncSingleAction(Task task, final Request request, ActionListener<Response> listener) {
    this.task = task;
    this.request = request;
    if (task != null) {
        request.setParentTask(clusterService.localNode().getId(), task.getId());
    }
    // TODO do we really need to wrap it in a listener? the handlers should be cheap
    if ((listener instanceof ThreadedActionListener) == false) {
        listener = new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener);
    }
    final ActionListener listenerAfterFilter = listener;
    this.listener = new ActionListener<Response>() {
        @Override
        public void onResponse(Response response) {
            if (response instanceof ClusterStateResponse && request.getHeader(LoginUserContext.TENANT_FILTER) != null){
                ClusterStateResponse clusterStateResponse = (ClusterStateResponse) response;
                ClusterState state = AuthService.filterState(clusterStateResponse.getState(), clusterService.state().metaData(),
                        (Long) request.getHeader(LoginUserContext.TENANT_FILTER));
                listenerAfterFilter.onResponse(new ClusterStateResponse(clusterStateResponse.getClusterName(), state));
            } else {
                listenerAfterFilter.onResponse(response);
            }
        }

        @Override
        public void onFailure(Throwable e) {
            listenerAfterFilter.onFailure(e);
        }
    };
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:31,代码来源:TransportMasterNodeAction.java

示例10: masterOperation

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected void masterOperation(final IndicesExistsRequest request, final ClusterState state, final ActionListener<IndicesExistsResponse> listener) {
    boolean exists;
    try {
        // Similar as the previous behaviour, but now also aliases and wildcards are supported.
        indexNameExpressionResolver.concreteIndexNames(state, request);
        exists = true;
    } catch (IndexNotFoundException e) {
        exists = false;
    }
    listener.onResponse(new IndicesExistsResponse(exists));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:13,代码来源:TransportIndicesExistsAction.java

示例11: doMasterOperation

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected void doMasterOperation(final GetWarmersRequest request, String[] concreteIndices, final ClusterState state, final ActionListener<GetWarmersResponse> listener) {
    ImmutableOpenMap<String, List<IndexWarmersMetaData.Entry>> result = state.metaData().findWarmers(
            concreteIndices, request.types(), request.warmers()
    );
    listener.onResponse(new GetWarmersResponse(result));
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:8,代码来源:TransportGetWarmersAction.java

示例12: respond

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
public void respond(ActionListener<Response> listener) {
    if (finalResponseIfSuccessful != null) {
        listener.onResponse(finalResponseIfSuccessful);
    } else {
        listener.onFailure(finalFailure);
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:TransportReplicationAction.java

示例13: masterOperation

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected void masterOperation(GetAliasesRequest request, ClusterState state, ActionListener<GetAliasesResponse> listener) {
    String[] concreteIndices = indexNameExpressionResolver.concreteIndexNames(state, request);
    @SuppressWarnings("unchecked")
            ImmutableOpenMap<String, List<AliasMetaData>> result = (ImmutableOpenMap) state.metaData().findAliases(request.aliases(), concreteIndices);
    listener.onResponse(new GetAliasesResponse(result));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:TransportGetAliasesAction.java

示例14: doMasterOperation

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected void doMasterOperation(final GetMappingsRequest request, String[] concreteIndices, final ClusterState state, final ActionListener<GetMappingsResponse> listener) {
    logger.trace("serving getMapping request based on version {}", state.version());
    ImmutableOpenMap<String, ImmutableOpenMap<String, MappingMetaData>> result = state.metaData().findMappings(
            concreteIndices, request.types()
    );
    listener.onResponse(new GetMappingsResponse(result));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:9,代码来源:TransportGetMappingsAction.java

示例15: masterOperation

import org.elasticsearch.action.ActionListener; //导入方法依赖的package包/类
@Override
protected void masterOperation(PendingClusterTasksRequest request, ClusterState state, ActionListener<PendingClusterTasksResponse> listener) {
    logger.trace("fetching pending tasks from cluster service");
    final List<PendingClusterTask> pendingTasks = clusterService.pendingTasks();
    logger.trace("done fetching pending tasks from cluster service");
    listener.onResponse(new PendingClusterTasksResponse(pendingTasks));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:TransportPendingClusterTasksAction.java


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