public void logErrorInCheckStatusResponse( ClientSubscriptionChannel channel, CheckStatusResponseStructure response, boolean isNewer, boolean isInError) { StringBuilder b = new StringBuilder(); b.append("check status failed for channel:"); b.append(" address=").append(channel.getAddress()); if (isNewer) { b.append(" prevServiceStartedTime="); b.append(channel.getLastServiceStartedTime()); b.append(" newServiceStartedTime="); b.append(response.getServiceStartedTime()); } ErrorCondition error = response.getErrorCondition(); if (isInError && error != null) { ClientSupport.appendError(error.getServiceNotAvailableError(), b); ClientSupport.appendError(error.getOtherError(), b); if (error.getDescription() != null && error.getDescription().getValue() != null) b.append(" errorDescription=" + error.getDescription().getValue()); } _log.warn(b.toString()); }
private boolean isCheckStatusNewer( ClientSubscriptionChannel channel, CheckStatusResponseStructure response) { Date serviceStartedTime = response.getServiceStartedTime(); if (serviceStartedTime == null) return false; /** Has the service start time been adjusted since our last status check? */ Date lastServiceStartedTime = channel.getLastServiceStartedTime(); if (lastServiceStartedTime == null) { channel.setLastServiceStartedTime(serviceStartedTime); } else if (serviceStartedTime.after(lastServiceStartedTime)) { return true; } return false; }