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


Java ClientResponse.hasResponse方法代码示例

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


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

示例1: fetchMetadata

import org.apache.kafka.clients.ClientResponse; //导入方法依赖的package包/类
/**
 * Fetch the metadata for all topics
 */
public MetadataResponse fetchMetadata() {

    final ClientRequest clientRequest = kafkaClient.newClientRequest(
        getAnyReadyBrokerId(),
        MetadataRequest.Builder.allTopics(),
        Time.SYSTEM.milliseconds(),
        true);
    final ClientResponse clientResponse = sendRequest(clientRequest);

    if (!clientResponse.hasResponse()) {
        throw new StreamsException("Empty response for client request.");
    }
    if (!(clientResponse.responseBody() instanceof MetadataResponse)) {
        throw new StreamsException("Inconsistent response type for internal topic metadata request. " +
            "Expected MetadataResponse but received " + clientResponse.responseBody().getClass().getName());
    }
    final MetadataResponse metadataResponse = (MetadataResponse) clientResponse.responseBody();
    return metadataResponse;
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:23,代码来源:StreamsKafkaClient.java

示例2: onComplete

import org.apache.kafka.clients.ClientResponse; //导入方法依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public void onComplete(ClientResponse response) {
    if (response.requestHeader().correlationId() != inFlightRequestCorrelationId) {
        fatalError(new RuntimeException("Detected more than one in-flight transactional request."));
    } else {
        clearInFlightRequestCorrelationId();
        if (response.wasDisconnected()) {
            log.debug("{}Disconnected from {}. Will retry.", logPrefix, response.destination());
            if (this.needsCoordinator())
                lookupCoordinator(this.coordinatorType(), this.coordinatorKey());
            reenqueue();
        } else if (response.versionMismatch() != null) {
            fatalError(response.versionMismatch());
        } else if (response.hasResponse()) {
            log.trace("{}Received transactional response {} for request {}", logPrefix,
                    response.responseBody(), requestBuilder());
            synchronized (TransactionManager.this) {
                handleResponse(response.responseBody());
            }
        } else {
            fatalError(new KafkaException("Could not execute transactional request for unknown reasons"));
        }
    }
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:26,代码来源:TransactionManager.java

示例3: checkBrokerCompatibility

import org.apache.kafka.clients.ClientResponse; //导入方法依赖的package包/类
/**
 * Check if the used brokers have version 0.10.1.x or higher.
 * <p>
 * Note, for <em>pre</em> 0.10.x brokers the broker version cannot be checked and the client will hang and retry
 * until it {@link StreamsConfig#REQUEST_TIMEOUT_MS_CONFIG times out}.
 *
 * @throws StreamsException if brokers have version 0.10.0.x
 */
public void checkBrokerCompatibility(final boolean eosEnabled) throws StreamsException {
    final ClientRequest clientRequest = kafkaClient.newClientRequest(
        getAnyReadyBrokerId(),
        new ApiVersionsRequest.Builder(),
        Time.SYSTEM.milliseconds(),
        true);

    final ClientResponse clientResponse = sendRequest(clientRequest);
    if (!clientResponse.hasResponse()) {
        throw new StreamsException("Empty response for client request.");
    }
    if (!(clientResponse.responseBody() instanceof ApiVersionsResponse)) {
        throw new StreamsException("Inconsistent response type for API versions request. " +
            "Expected ApiVersionsResponse but received " + clientResponse.responseBody().getClass().getName());
    }

    final ApiVersionsResponse apiVersionsResponse =  (ApiVersionsResponse) clientResponse.responseBody();

    if (apiVersionsResponse.apiVersion(ApiKeys.CREATE_TOPICS.id) == null) {
        throw new StreamsException("Kafka Streams requires broker version 0.10.1.x or higher.");
    }

    if (eosEnabled && !brokerSupportsTransactions(apiVersionsResponse)) {
        throw new StreamsException("Setting " + PROCESSING_GUARANTEE_CONFIG + "=" + EXACTLY_ONCE + " requires broker version 0.11.0.x or higher.");
    }
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:35,代码来源:StreamsKafkaClient.java


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