private ServiceUnavailableException noReachableMemberException(ServiceMessage request) { LOGGER.error( "Failed to invoke service, " + "No reachable member with such service definition [{}], args [{}]", request.qualifier(), request); return new ServiceUnavailableException( "No reachable member with such service: " + request.qualifier()); }
private ServiceUnavailableException noReachableMemberException(ServiceMessage request) { LOGGER.error( "Failed to invoke service, " + "No reachable member with such service definition [{}], args [{}]", request.qualifier(), request); return new ServiceUnavailableException( "No reachable member with such service: " + request.qualifier()); }
/** * Performs basic validation on incoming message: qualifier must be present, method invoker must * be present in the method registry by incoming qualifier. May throw exception * * @param message incoming message * @throws ServiceException in case qualfier is missing or method invoker is missing by given * qualifier */ private void validateRequest(ServiceMessage message) throws ServiceException { if (message.qualifier() == null) { Optional.ofNullable(message.data()) .ifPresent(ReferenceCountUtil::safestRelease); // release message data if any LOGGER.error("Failed to invoke service with msg={}: qualifier is null", message); throw new BadRequestException("Qualifier is null in service msg request: " + message); } if (!methodRegistry.containsInvoker(message.qualifier())) { Optional.ofNullable(message.data()) .ifPresent(ReferenceCountUtil::safestRelease); // release message data if any LOGGER.error( "Failed to invoke service with msg={}: no service invoker found by qualifier={}", message, message.qualifier()); throw new ServiceUnavailableException( "No service invoker found by qualifier=" + message.qualifier()); } } }
/** * Performs basic validation on incoming message: qualifier must be present, method invoker must * be present in the method registry by incoming qualifier. May throw exception * * @param message incoming message * @throws ServiceException in case qualfier is missing or method invoker is missing by given * qualifier */ private void validateRequest(ServiceMessage message) throws ServiceException { if (message.qualifier() == null) { Optional.ofNullable(message.data()) .ifPresent(ReferenceCountUtil::safestRelease); // release message data if any LOGGER.error("Failed to invoke service with msg={}: qualifier is null", message); throw new BadRequestException("Qualifier is null in service msg request: " + message); } if (!methodRegistry.containsInvoker(message.qualifier())) { Optional.ofNullable(message.data()) .ifPresent(ReferenceCountUtil::safestRelease); // release message data if any LOGGER.error( "Failed to invoke service with msg={}: no service invoker found by qualifier={}", message, message.qualifier()); throw new ServiceUnavailableException( "No service invoker found by qualifier=" + message.qualifier()); } } }
/** * Performs basic validation on incoming message: qualifier must be present, method invoker must * be present in the method registry by incoming qualifier. May throw exception * * @param message incoming message * @throws ServiceException in case qualfier is missing or method invoker is missing by given * qualifier */ private void validateRequest(ServiceMessage message) throws ServiceException { if (message.qualifier() == null) { Optional.ofNullable(message.data()) .ifPresent(ReferenceCountUtil::safestRelease); // release message data if any LOGGER.error("Failed to invoke service with msg={}: qualifier is null", message); throw new BadRequestException("Qualifier is null in service msg request: " + message); } if (!methodRegistry.containsInvoker(message.qualifier())) { Optional.ofNullable(message.data()) .ifPresent(ReferenceCountUtil::safestRelease); // release message data if any LOGGER.error( "Failed to invoke service with msg={}: no service invoker found by qualifier={}", message, message.qualifier()); throw new ServiceUnavailableException( "No service invoker found by qualifier=" + message.qualifier()); } } }
@Override public Throwable toError(ClientMessage message) { ErrorData errorData = message.data(); int errorType = message.errorType(); int errorCode = errorData.getErrorCode(); String errorMessage = errorData.getErrorMessage(); switch (errorType) { case BadRequestException.ERROR_TYPE: return new BadRequestException(errorCode, errorMessage); case UnauthorizedException.ERROR_TYPE: return new UnauthorizedException(errorCode, errorMessage); case ServiceUnavailableException.ERROR_TYPE: return new ServiceUnavailableException(errorCode, errorMessage); case InternalServiceException.ERROR_TYPE: return new InternalServiceException(errorCode, errorMessage); // Handle other types of Service Exceptions here default: return new InternalServiceException(errorCode, errorMessage); } } }
@Override public Throwable toError(ServiceMessage message) { ErrorData data = message.data(); int errorType = message.errorType(); int errorCode = data.getErrorCode(); String errorMessage = data.getErrorMessage(); switch (errorType) { case BadRequestException.ERROR_TYPE: return new BadRequestException(errorCode, errorMessage); case UnauthorizedException.ERROR_TYPE: return new UnauthorizedException(errorCode, errorMessage); case ServiceUnavailableException.ERROR_TYPE: return new ServiceUnavailableException(errorCode, errorMessage); case InternalServiceException.ERROR_TYPE: return new InternalServiceException(errorCode, errorMessage); // Handle other types of Service Exceptions here default: return new InternalServiceException(errorCode, errorMessage); } }