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


Java ActionRequest类代码示例

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


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

示例1: performRequestAsync

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
<Req extends ActionRequest, Resp> void performRequestAsync(Req request,
                                                           CheckedFunction<Req, Request, IOException> requestConverter,
                                                           CheckedFunction<Response, Resp, IOException> responseConverter,
                                                           ActionListener<Resp> listener, Set<Integer> ignores, Header... headers) {
    ActionRequestValidationException validationException = request.validate();
    if (validationException != null) {
        listener.onFailure(validationException);
        return;
    }
    Request req;
    try {
        req = requestConverter.apply(request);
    } catch (Exception e) {
        listener.onFailure(e);
        return;
    }

    ResponseListener responseListener = wrapResponseListener(responseConverter, listener, ignores);
    client.performRequestAsync(req.method, req.endpoint, req.params, req.entity, responseListener, headers);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:21,代码来源:RestHighLevelClient.java

示例2: setResponseFailureIfIndexMatches

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
private boolean setResponseFailureIfIndexMatches(AtomicArray<BulkItemResponse> responses, int idx, ActionRequest request, String index, Throwable e) {
    if (request instanceof IndexRequest) {
        IndexRequest indexRequest = (IndexRequest) request;
        if (index.equals(indexRequest.index())) {
            responses.set(idx, new BulkItemResponse(idx, "index", new BulkItemResponse.Failure(indexRequest.index(), indexRequest.type(), indexRequest.id(), e)));
            return true;
        }
    } else if (request instanceof DeleteRequest) {
        DeleteRequest deleteRequest = (DeleteRequest) request;
        if (index.equals(deleteRequest.index())) {
            responses.set(idx, new BulkItemResponse(idx, "delete", new BulkItemResponse.Failure(deleteRequest.index(), deleteRequest.type(), deleteRequest.id(), e)));
            return true;
        }
    } else if (request instanceof UpdateRequest) {
        UpdateRequest updateRequest = (UpdateRequest) request;
        if (index.equals(updateRequest.index())) {
            responses.set(idx, new BulkItemResponse(idx, "update", new BulkItemResponse.Failure(updateRequest.index(), updateRequest.type(), updateRequest.id(), e)));
            return true;
        }
    } else {
        throw new ElasticsearchException("Parsed unknown request in bulk actions: " + request.getClass().getSimpleName());
    }
    return false;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:25,代码来源:TransportBulkAction.java

示例3: writeOnLocal

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
public <Request extends ActionRequest, Response extends ActionResponse> void writeOnLocal(final Request request,
        final ActionListener<Response> listener) {
    final ActionListener<Response> next = wrap(res -> {
        final short classType = RequestUtils.getClassType(request);
        if (classType > 0) {
            synchronized (this) {
                streamOutput.writeShort(classType);
                request.writeTo(streamOutput);
                if (flushPerDoc) {
                    streamOutput.flush();
                }
            }
        } else {
            throw new ElasticsearchException("Unknown request: " + request);
        }
        listener.onResponse(res);
    }, listener::onFailure);

    if (streamOutput == null || streamOutput.getByteCount() > dataFileSize) {
        createStreamOutput(next);
    } else {
        next.onResponse(null);
    }
}
 
开发者ID:codelibs,项目名称:elasticsearch-indexing-proxy,代码行数:25,代码来源:IndexingProxyService.java

示例4: getClassType

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
public static <Request extends ActionRequest> short getClassType(final Request request) {
    if (DeleteRequest.class.isInstance(request)) {
        return RequestUtils.TYPE_DELETE;
    } else if (DeleteByQueryRequest.class.isInstance(request)) {
        return RequestUtils.TYPE_DELETE_BY_QUERY;
    } else if (IndexRequest.class.isInstance(request)) {
        return RequestUtils.TYPE_INDEX;
    } else if (UpdateRequest.class.isInstance(request)) {
        return RequestUtils.TYPE_UPDATE;
    } else if (UpdateByQueryRequest.class.isInstance(request)) {
        return RequestUtils.TYPE_UPDATE_BY_QUERY;
    } else if (BulkRequest.class.isInstance(request)) {
        return RequestUtils.TYPE_BULK;
    }
    return 0;
}
 
开发者ID:codelibs,项目名称:elasticsearch-indexing-proxy,代码行数:17,代码来源:RequestUtils.java

示例5: newRequest

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public static <Request extends ActionRequest> Request newRequest(final short classType) {
    switch (classType) {
    case RequestUtils.TYPE_DELETE:
        return (Request) new DeleteRequest();
    case RequestUtils.TYPE_DELETE_BY_QUERY:
        return (Request) new DeleteByQueryRequest();
    case RequestUtils.TYPE_INDEX:
        return (Request) new IndexRequest();
    case RequestUtils.TYPE_UPDATE:
        return (Request) new UpdateRequest();
    case RequestUtils.TYPE_UPDATE_BY_QUERY:
        return (Request) new UpdateByQueryRequest();
    case RequestUtils.TYPE_BULK:
        return (Request) new BulkRequest();
    default:
        throw new ElasticsearchException("Unknown request type: " + classType);
    }
}
 
开发者ID:codelibs,项目名称:elasticsearch-indexing-proxy,代码行数:20,代码来源:RequestUtils.java

示例6: apply

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
@Override
public <Request extends ActionRequest, Response extends ActionResponse> void apply(final Task task, final String action,
        final Request request, final ActionListener<Response> listener, final ActionFilterChain<Request, Response> chain) {
    if (logger.isDebugEnabled()) {
        logger.debug("node: " + nodeName() + ", action: " + action + ", request: " + request);
    }
    final Supplier<Response> executor = getExecutor(task, action, request);
    if (executor != null) {
        indexingProxyService.write(request, ActionListener.wrap(res -> {
            listener.onResponse(executor.get());
        }, listener::onFailure));
    } else if (indexingProxyService.isRenewAction(action)) {
        indexingProxyService.renew(ActionListener.wrap(res -> {
            chain.proceed(task, action, request, listener);
        }, listener::onFailure));
    } else {
        chain.proceed(task, action, request, listener);
    }
}
 
开发者ID:codelibs,项目名称:elasticsearch-indexing-proxy,代码行数:20,代码来源:ProxyActionFilter.java

示例7: GetRequest

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
/**
 * Copy constructor that creates a new get request that is a copy of the one provided as an argument.
 * The new request will inherit though headers and context from the original request that caused it.
 */
public GetRequest(GetRequest getRequest, ActionRequest originalRequest) {
    super(originalRequest);
    this.index = getRequest.index;
    this.type = getRequest.type;
    this.id = getRequest.id;
    this.routing = getRequest.routing;
    this.preference = getRequest.preference;
    this.fields = getRequest.fields;
    this.fetchSourceContext = getRequest.fetchSourceContext;
    this.refresh = getRequest.refresh;
    this.realtime = getRequest.realtime;
    this.version = getRequest.version;
    this.versionType = getRequest.versionType;
    this.ignoreErrorsOnGeneratedFields = getRequest.ignoreErrorsOnGeneratedFields;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:20,代码来源:GetRequest.java

示例8: SearchRequest

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
/**
 * Copy constructor that creates a new search request that is a copy of the one provided as an argument.
 * The new request will inherit though headers and context from the original request that caused it.
 */
public SearchRequest(SearchRequest searchRequest, ActionRequest originalRequest) {
    super(originalRequest);
    this.searchType = searchRequest.searchType;
    this.indices = searchRequest.indices;
    this.routing = searchRequest.routing;
    this.preference = searchRequest.preference;
    this.templateSource = searchRequest.templateSource;
    this.template = searchRequest.template;
    this.source = searchRequest.source;
    this.extraSource = searchRequest.extraSource;
    this.requestCache = searchRequest.requestCache;
    this.scroll = searchRequest.scroll;
    this.types = searchRequest.types;
    this.indicesOptions = searchRequest.indicesOptions;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:20,代码来源:SearchRequest.java

示例9: proceed

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
@Override @SuppressWarnings("unchecked")
public void proceed(Task task, String actionName, ActionRequest request, ActionListener listener) {
    int i = index.getAndIncrement();
    try {
        if (i < this.action.filters.length) {
            this.action.filters[i].apply(task, actionName, request, listener, this);
        } else if (i == this.action.filters.length) {
            this.action.doExecute(task, (Request) request, new FilteredActionListener<Response>(actionName, listener, new ResponseFilterChain(this.action.filters, logger)));
        } else {
            listener.onFailure(new IllegalStateException("proceed was called too many times"));
        }
    } catch(Throwable t) {
        logger.trace("Error during transport action execution.", t);
        listener.onFailure(t);
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:17,代码来源:TransportAction.java

示例10: execute

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
/**
 * Execute the ActionRequest and returns the REST response using the channel.
 */
public void execute() throws Exception {
       ActionRequest request = requestBuilder.request();

       //todo: maby change to instanceof multi?
       if(requestBuilder instanceof JoinRequestBuilder){
           executeJoinRequestAndSendResponse();
       }
	else if (request instanceof SearchRequest) {
		client.search((SearchRequest) request, new RestStatusToXContentListener<SearchResponse>(channel));
	} else if (requestBuilder instanceof SqlElasticDeleteByQueryRequestBuilder) {
           throw new UnsupportedOperationException("currently not support delete on elastic 2.0.0");
       }
       else if(request instanceof GetIndexRequest) {
           this.requestBuilder.getBuilder().execute( new GetIndexRequestRestListener(channel, (GetIndexRequest) request));
       }


	else {
		throw new Exception(String.format("Unsupported ActionRequest provided: %s", request.getClass().getName()));
	}
}
 
开发者ID:mazhou,项目名称:es-sql,代码行数:25,代码来源:ActionRequestRestExecuter.java

示例11: writeTo

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
@Override
public void writeTo(StreamOutput out) throws IOException {
    super.writeTo(out);
    out.writeByte(consistencyLevel.id());
    out.writeVInt(requests.size());
    for (ActionRequest request : requests) {
        if (request instanceof IndexRequest) {
            out.writeByte((byte) 0);
        } else if (request instanceof DeleteRequest) {
            out.writeByte((byte) 1);
        } else if (request instanceof UpdateRequest) {
            out.writeByte((byte) 2);
        }
        request.writeTo(out);
    }
    out.writeBoolean(refresh);
    timeout.writeTo(out);
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:19,代码来源:BulkRequest.java

示例12: getActions

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
@Override
public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() {
    return Arrays.asList(new ActionHandler<>(ReindexAction.INSTANCE, TransportReindexAction.class),
            new ActionHandler<>(UpdateByQueryAction.INSTANCE, TransportUpdateByQueryAction.class),
            new ActionHandler<>(DeleteByQueryAction.INSTANCE, TransportDeleteByQueryAction.class),
            new ActionHandler<>(RethrottleAction.INSTANCE, TransportRethrottleAction.class));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:ReindexPlugin.java

示例13: applyScript

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
@SuppressWarnings("unchecked")
protected <T extends ActionRequest> T applyScript(Consumer<Map<String, Object>> scriptBody) {
    IndexRequest index = new IndexRequest("index", "type", "1").source(singletonMap("foo", "bar"));
    ScrollableHitSource.Hit doc = new ScrollableHitSource.BasicHit("test", "type", "id", 0);
    ExecutableScript executableScript = new SimpleExecutableScript(scriptBody);

    when(scriptService.executable(any(CompiledScript.class), Matchers.<Map<String, Object>>any()))
            .thenReturn(executableScript);
    AbstractAsyncBulkByScrollAction<Request> action = action(scriptService, request().setScript(EMPTY_SCRIPT));
    RequestWrapper<?> result = action.buildScriptApplier().apply(AbstractAsyncBulkByScrollAction.wrap(index), doc);
    return (result != null) ? (T) result.self() : null;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:13,代码来源:AbstractAsyncBulkByScrollActionScriptTestCase.java

示例14: performRequestAsyncAndParseEntity

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
private <Req extends ActionRequest, Resp> void performRequestAsyncAndParseEntity(Req request,
                                                             CheckedFunction<Req, Request, IOException> requestConverter,
                                                             CheckedFunction<XContentParser, Resp, IOException> entityParser,
                                                             ActionListener<Resp> listener, Set<Integer> ignores, Header... headers) {
    performRequestAsync(request, requestConverter, (response) -> parseEntity(response.getEntity(), entityParser),
            listener, ignores, headers);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:RestHighLevelClient.java

示例15: clientIsCalledWhenBatchItemIsAdded

import org.elasticsearch.action.ActionRequest; //导入依赖的package包/类
@Test
public void clientIsCalledWhenBatchItemIsAdded() {

    // given
    Builder builder = createTestObjectFactoryBuilder();
    ClientObjectFactory<TransportClient, BulkRequest> config = spy(builder.build());

    Settings settings = Settings.builder()
            .put("node.local", true)
            .build();

    TransportClient client = spy(TransportClient.builder().settings(settings).build());
    client.addTransportAddress(new LocalTransportAddress("1"));
    when(config.createClient()).thenReturn(client);

    FailoverPolicy failoverPolicy = spy(new NoopFailoverPolicy());

    BulkProcessorFactory bulkProcessorFactory = new BulkProcessorFactory();
    BatchEmitter batchEmitter = bulkProcessorFactory.createInstance(
                    1,
                    100,
                    config,
                    failoverPolicy);

    String payload1 = "test1";
    ActionRequest testRequest = createTestRequest(payload1);

    // when
    batchEmitter.add(testRequest);

    // then
    ArgumentCaptor<BulkRequest> captor = ArgumentCaptor.forClass(BulkRequest.class);
    verify(client, times(1)).bulk(captor.capture(), Mockito.any());

    assertEquals(payload1, new BulkRequestIntrospector().items(captor.getValue()).iterator().next());
}
 
开发者ID:rfoltyns,项目名称:log4j2-elasticsearch,代码行数:37,代码来源:BulkProcessorObjectFactoryTest.java


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