/** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getQueueUrl() != null) sb.append("QueueUrl: ").append(getQueueUrl()).append(","); if (getAttributeNames() != null) sb.append("AttributeNames: ").append(getAttributeNames()).append(","); if (getMessageAttributeNames() != null) sb.append("MessageAttributeNames: ").append(getMessageAttributeNames()).append(","); if (getMaxNumberOfMessages() != null) sb.append("MaxNumberOfMessages: ").append(getMaxNumberOfMessages()).append(","); if (getVisibilityTimeout() != null) sb.append("VisibilityTimeout: ").append(getVisibilityTimeout()).append(","); if (getWaitTimeSeconds() != null) sb.append("WaitTimeSeconds: ").append(getWaitTimeSeconds()).append(","); if (getReceiveRequestAttemptId() != null) sb.append("ReceiveRequestAttemptId: ").append(getReceiveRequestAttemptId()); sb.append("}"); return sb.toString(); }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getQueueUrl() == null) ? 0 : getQueueUrl().hashCode()); hashCode = prime * hashCode + ((getAttributeNames() == null) ? 0 : getAttributeNames().hashCode()); hashCode = prime * hashCode + ((getMessageAttributeNames() == null) ? 0 : getMessageAttributeNames().hashCode()); hashCode = prime * hashCode + ((getMaxNumberOfMessages() == null) ? 0 : getMaxNumberOfMessages().hashCode()); hashCode = prime * hashCode + ((getVisibilityTimeout() == null) ? 0 : getVisibilityTimeout().hashCode()); hashCode = prime * hashCode + ((getWaitTimeSeconds() == null) ? 0 : getWaitTimeSeconds().hashCode()); hashCode = prime * hashCode + ((getReceiveRequestAttemptId() == null) ? 0 : getReceiveRequestAttemptId().hashCode()); return hashCode; }
/** * We prefetch and load results in the buffer by making basic requests. I.E. we don't request * queue or message attributes and we have a default visibility timeout. If the user's request * deviates from the basic request we can't fulfill the request directly from the buffer, we * have to hit SQS directly (Note that when going to SQS directly messages currently in the * buffer may be unavailable due to the visibility timeout). * * @return True if the request can be fulfilled directly from the buffer, false if we have to go * back to the service to fetch the results */ private boolean canBeRetrievedFromQueueBuffer(ReceiveMessageRequest rq) { return !hasRequestedQueueAttributes(rq) && !hasRequestedMessageAttributes(rq) && isBufferingEnabled() && (rq.getVisibilityTimeout() == null); }
if (other.getMaxNumberOfMessages() != null && other.getMaxNumberOfMessages().equals(this.getMaxNumberOfMessages()) == false) return false; if (other.getVisibilityTimeout() == null ^ this.getVisibilityTimeout() == null) return false; if (other.getVisibilityTimeout() != null && other.getVisibilityTimeout().equals(this.getVisibilityTimeout()) == false) return false; if (other.getWaitTimeSeconds() == null ^ this.getWaitTimeSeconds() == null)
if (receiveMessageRequest.getVisibilityTimeout() != null) { request.addParameter("VisibilityTimeout", StringUtils.fromInteger(receiveMessageRequest.getVisibilityTimeout()));
/** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getQueueUrl() != null) sb.append("QueueUrl: " + getQueueUrl() + ","); if (getAttributeNames() != null) sb.append("AttributeNames: " + getAttributeNames() + ","); if (getMessageAttributeNames() != null) sb.append("MessageAttributeNames: " + getMessageAttributeNames() + ","); if (getMaxNumberOfMessages() != null) sb.append("MaxNumberOfMessages: " + getMaxNumberOfMessages() + ","); if (getVisibilityTimeout() != null) sb.append("VisibilityTimeout: " + getVisibilityTimeout() + ","); if (getWaitTimeSeconds() != null) sb.append("WaitTimeSeconds: " + getWaitTimeSeconds() + ","); if (getReceiveRequestAttemptId() != null) sb.append("ReceiveRequestAttemptId: " + getReceiveRequestAttemptId()); sb.append("}"); return sb.toString(); }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getQueueUrl() == null) ? 0 : getQueueUrl().hashCode()); hashCode = prime * hashCode + ((getAttributeNames() == null) ? 0 : getAttributeNames().hashCode()); hashCode = prime * hashCode + ((getMessageAttributeNames() == null) ? 0 : getMessageAttributeNames().hashCode()); hashCode = prime * hashCode + ((getMaxNumberOfMessages() == null) ? 0 : getMaxNumberOfMessages().hashCode()); hashCode = prime * hashCode + ((getVisibilityTimeout() == null) ? 0 : getVisibilityTimeout().hashCode()); hashCode = prime * hashCode + ((getWaitTimeSeconds() == null) ? 0 : getWaitTimeSeconds().hashCode()); hashCode = prime * hashCode + ((getReceiveRequestAttemptId() == null) ? 0 : getReceiveRequestAttemptId() .hashCode()); return hashCode; }
&& other.getMaxNumberOfMessages().equals(this.getMaxNumberOfMessages()) == false) return false; if (other.getVisibilityTimeout() == null ^ this.getVisibilityTimeout() == null) return false; if (other.getVisibilityTimeout() != null && other.getVisibilityTimeout().equals(this.getVisibilityTimeout()) == false) return false; if (other.getWaitTimeSeconds() == null ^ this.getWaitTimeSeconds() == null)
/** * Submits a request to receive some messages from SQS. * * @return a Future object that will be notified when the operation is * completed; never null; */ public Future<ReceiveMessageResult> receiveMessage(ReceiveMessageRequest rq, AsyncHandler<ReceiveMessageRequest, ReceiveMessageResult> handler) { // only handle simple requests, because these are the settings we // pre-fetch with boolean noAttributes = (rq.getAttributeNames() == null) || rq.getAttributeNames().isEmpty(); boolean noMessageAttributesToRetrieve = (rq.getMessageAttributeNames() == null) || rq.getMessageAttributeNames().isEmpty(); boolean bufferngEnabled = (config.getMaxInflightReceiveBatches() > 0) && (config.getMaxDoneReceiveBatches() > 0); if (noMessageAttributesToRetrieve && noAttributes && bufferngEnabled && (rq.getVisibilityTimeout() == null)) { QueueBufferCallback<ReceiveMessageRequest, ReceiveMessageResult> callback = null; if (handler != null) { callback = new QueueBufferCallback<ReceiveMessageRequest, ReceiveMessageResult>( handler, rq); } QueueBufferFuture<ReceiveMessageRequest, ReceiveMessageResult> future = receiveBuffer .receiveMessageAsync(rq, callback); future.setBuffer(this); return future; } else { return realSqs.receiveMessageAsync(rq); } }
request.addParameter(prefix, StringUtils.fromInteger(maxNumberOfMessages)); if (receiveMessageRequest.getVisibilityTimeout() != null) { prefix = "VisibilityTimeout"; Integer visibilityTimeout = receiveMessageRequest.getVisibilityTimeout(); request.addParameter(prefix, StringUtils.fromInteger(visibilityTimeout));
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getQueueUrl() == null) ? 0 : getQueueUrl().hashCode()); hashCode = prime * hashCode + ((getAttributeNames() == null) ? 0 : getAttributeNames().hashCode()); hashCode = prime * hashCode + ((getMessageAttributeNames() == null) ? 0 : getMessageAttributeNames().hashCode()); hashCode = prime * hashCode + ((getMaxNumberOfMessages() == null) ? 0 : getMaxNumberOfMessages().hashCode()); hashCode = prime * hashCode + ((getVisibilityTimeout() == null) ? 0 : getVisibilityTimeout().hashCode()); hashCode = prime * hashCode + ((getWaitTimeSeconds() == null) ? 0 : getWaitTimeSeconds().hashCode()); hashCode = prime * hashCode + ((getReceiveRequestAttemptId() == null) ? 0 : getReceiveRequestAttemptId().hashCode()); return hashCode; }
/** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getQueueUrl() != null) sb.append("QueueUrl: ").append(getQueueUrl()).append(","); if (getAttributeNames() != null) sb.append("AttributeNames: ").append(getAttributeNames()).append(","); if (getMessageAttributeNames() != null) sb.append("MessageAttributeNames: ").append(getMessageAttributeNames()).append(","); if (getMaxNumberOfMessages() != null) sb.append("MaxNumberOfMessages: ").append(getMaxNumberOfMessages()).append(","); if (getVisibilityTimeout() != null) sb.append("VisibilityTimeout: ").append(getVisibilityTimeout()).append(","); if (getWaitTimeSeconds() != null) sb.append("WaitTimeSeconds: ").append(getWaitTimeSeconds()).append(","); if (getReceiveRequestAttemptId() != null) sb.append("ReceiveRequestAttemptId: ").append(getReceiveRequestAttemptId()); sb.append("}"); return sb.toString(); }
/** * We prefetch and load results in the buffer by making basic requests. I.E. we don't request * queue or message attributes and we have a default visibility timeout. If the user's request * deviates from the basic request we can't fulfill the request directly from the buffer, we * have to hit SQS directly (Note that when going to SQS directly messages currently in the * buffer may be unavailable due to the visibility timeout). * * @return True if the request can be fulfilled directly from the buffer, false if we have to go * back to the service to fetch the results */ private boolean canBeRetrievedFromQueueBuffer(ReceiveMessageRequest rq) { return !hasRequestedQueueAttributes(rq) && !hasRequestedMessageAttributes(rq) && isBufferingEnabled() && (rq.getVisibilityTimeout() == null); }
@Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getQueueUrl() == null) ? 0 : getQueueUrl().hashCode()); hashCode = prime * hashCode + ((getAttributeNames() == null) ? 0 : getAttributeNames().hashCode()); hashCode = prime * hashCode + ((getMessageAttributeNames() == null) ? 0 : getMessageAttributeNames().hashCode()); hashCode = prime * hashCode + ((getMaxNumberOfMessages() == null) ? 0 : getMaxNumberOfMessages().hashCode()); hashCode = prime * hashCode + ((getVisibilityTimeout() == null) ? 0 : getVisibilityTimeout().hashCode()); hashCode = prime * hashCode + ((getWaitTimeSeconds() == null) ? 0 : getWaitTimeSeconds().hashCode()); hashCode = prime * hashCode + ((getReceiveRequestAttemptId() == null) ? 0 : getReceiveRequestAttemptId() .hashCode()); return hashCode; }
/** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getQueueUrl() != null) sb.append("QueueUrl: " + getQueueUrl() + ","); if (getAttributeNames() != null) sb.append("AttributeNames: " + getAttributeNames() + ","); if (getMessageAttributeNames() != null) sb.append("MessageAttributeNames: " + getMessageAttributeNames() + ","); if (getMaxNumberOfMessages() != null) sb.append("MaxNumberOfMessages: " + getMaxNumberOfMessages() + ","); if (getVisibilityTimeout() != null) sb.append("VisibilityTimeout: " + getVisibilityTimeout() + ","); if (getWaitTimeSeconds() != null) sb.append("WaitTimeSeconds: " + getWaitTimeSeconds() + ","); if (getReceiveRequestAttemptId() != null) sb.append("ReceiveRequestAttemptId: " + getReceiveRequestAttemptId()); sb.append("}"); return sb.toString(); }
if (other.getMaxNumberOfMessages() != null && other.getMaxNumberOfMessages().equals(this.getMaxNumberOfMessages()) == false) return false; if (other.getVisibilityTimeout() == null ^ this.getVisibilityTimeout() == null) return false; if (other.getVisibilityTimeout() != null && other.getVisibilityTimeout().equals(this.getVisibilityTimeout()) == false) return false; if (other.getWaitTimeSeconds() == null ^ this.getWaitTimeSeconds() == null)
&& other.getMaxNumberOfMessages().equals(this.getMaxNumberOfMessages()) == false) return false; if (other.getVisibilityTimeout() == null ^ this.getVisibilityTimeout() == null) return false; if (other.getVisibilityTimeout() != null && other.getVisibilityTimeout().equals(this.getVisibilityTimeout()) == false) return false; if (other.getWaitTimeSeconds() == null ^ this.getWaitTimeSeconds() == null)
/** * Submits a request to receive some messages from SQS. * * @return a Future object that will be notified when the operation is * completed; never null; */ public Future<ReceiveMessageResult> receiveMessage(ReceiveMessageRequest rq, AsyncHandler<ReceiveMessageRequest, ReceiveMessageResult> handler) { // only handle simple requests, because these are the settings we // pre-fetch with boolean noAttributes = (rq.getAttributeNames() == null) || rq.getAttributeNames().isEmpty(); boolean noMessageAttributesToRetrieve = (rq.getMessageAttributeNames() == null) || rq.getMessageAttributeNames().isEmpty(); boolean bufferngEnabled = (config.getMaxInflightReceiveBatches() > 0) && (config.getMaxDoneReceiveBatches() > 0); if (noMessageAttributesToRetrieve && noAttributes && bufferngEnabled && (rq.getVisibilityTimeout() == null)) { QueueBufferCallback<ReceiveMessageRequest, ReceiveMessageResult> callback = null; if (handler != null) { callback = new QueueBufferCallback<ReceiveMessageRequest, ReceiveMessageResult>( handler, rq); } QueueBufferFuture<ReceiveMessageRequest, ReceiveMessageResult> future = receiveBuffer .receiveMessageAsync(rq, callback); future.setBuffer(this); return future; } else { return realSqs.receiveMessageAsync(rq); } }
if (receiveMessageRequest.getVisibilityTimeout() != null) { request.addParameter("VisibilityTimeout", StringUtils.fromInteger(receiveMessageRequest.getVisibilityTimeout()));
request.addParameter(prefix, StringUtils.fromInteger(maxNumberOfMessages)); if (receiveMessageRequest.getVisibilityTimeout() != null) { prefix = "VisibilityTimeout"; Integer visibilityTimeout = receiveMessageRequest.getVisibilityTimeout(); request.addParameter(prefix, StringUtils.fromInteger(visibilityTimeout));