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


Java ClientResponse.wasDisconnected方法代码示例

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


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

示例1: 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

示例2: onComplete

import org.apache.kafka.clients.ClientResponse; //导入方法依赖的package包/类
@Override
public void onComplete(ClientResponse response) {
    if (response.wasDisconnected()) {
        ClientRequest request = response.request();
        RequestSend send = request.request();
        ApiKeys api = ApiKeys.forId(send.header().apiKey());
        int correlation = send.header().correlationId();
        log.debug("Cancelled {} request {} with correlation id {} due to node {} being disconnected",
                api, request, correlation, send.destination());
        raise(DisconnectException.INSTANCE);
    } else {
        complete(response);
    }
}
 
开发者ID:txazo,项目名称:kafka,代码行数:15,代码来源:ConsumerNetworkClient.java

示例3: handleResponses

import org.apache.kafka.clients.ClientResponse; //导入方法依赖的package包/类
/**
 * Handle responses from the server.
 *
 * @param now                   The current time in milliseconds.
 * @param responses             The latest responses from KafkaClient.
 * @param correlationIdToCall   A map of correlation IDs to calls.
 * @param callsInFlight         A map of nodes to the calls they have in flight.
**/
private void handleResponses(long now, List<ClientResponse> responses, Map<String, List<Call>> callsInFlight,
        Map<Integer, Call> correlationIdToCall) {
    for (ClientResponse response : responses) {
        int correlationId = response.requestHeader().correlationId();

        Call call = correlationIdToCall.get(correlationId);
        if (call == null) {
            // If the server returns information about a correlation ID we didn't use yet,
            // an internal server error has occurred.  Close the connection and log an error message.
            log.error("Internal server error on {}: server returned information about unknown " +
                "correlation ID {}.  requestHeader = {}", response.destination(), correlationId,
                response.requestHeader());
            client.disconnect(response.destination());
            continue;
        }

        // Stop tracking this call.
        correlationIdToCall.remove(correlationId);
        getOrCreateListValue(callsInFlight, response.requestHeader().clientId()).remove(call);

        // Handle the result of the call.  This may involve retrying the call, if we got a
        // retryible exception.
        if (response.versionMismatch() != null) {
            call.fail(now, response.versionMismatch());
        } else if (response.wasDisconnected()) {
            call.fail(now, new DisconnectException(String.format(
                "Cancelled %s request with correlation id %s due to node %s being disconnected",
                call.callName, correlationId, response.destination())));
        } else {
            try {
                call.handleResponse(response.responseBody());
                if (log.isTraceEnabled())
                    log.trace("{}: {} got response {}", clientId, call, response.responseBody());
            } catch (Throwable t) {
                if (log.isTraceEnabled())
                    log.trace("{}: {} handleResponse failed with {}", clientId, call, prettyPrintException(t));
                call.fail(now, t);
            }
        }
    }
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:50,代码来源:KafkaAdminClient.java


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