List of usage examples for com.amazonaws.services.sqs.model ReceiveMessageRequest getQueueUrl
public String getQueueUrl()
The URL of the Amazon SQS queue from which messages are received.
From source file:org.apache.camel.component.aws.sqs.AmazonSQSClientMock.java
License:Apache License
@Override public ReceiveMessageResult receiveMessage(ReceiveMessageRequest receiveMessageRequest) throws AmazonServiceException, AmazonClientException { Integer maxNumberOfMessages = receiveMessageRequest.getMaxNumberOfMessages() != null ? receiveMessageRequest.getMaxNumberOfMessages() : Integer.MAX_VALUE;/*from w ww. jav a2 s. c o m*/ ReceiveMessageResult result = new ReceiveMessageResult(); Collection<Message> resultMessages = new ArrayList<Message>(); synchronized (messages) { int fetchSize = 0; for (Iterator<Message> iterator = messages.iterator(); iterator.hasNext() && fetchSize < maxNumberOfMessages; fetchSize++) { Message rc = iterator.next(); resultMessages.add(rc); iterator.remove(); scheduleCancelInflight(receiveMessageRequest.getQueueUrl(), rc); } } result.setMessages(resultMessages); return result; }
From source file:org.flite.mock.amazonaws.sqs.AmazonSQSMock.java
License:Open Source License
public ReceiveMessageResult receiveMessage(final ReceiveMessageRequest request) throws AmazonServiceException, AmazonClientException { if (request == null) { throw new AmazonClientException("Null ReceiveMessageRequest"); }//w w w . j a v a 2 s . co m final String queueUrl = request.getQueueUrl(); checkURLForException(queueUrl); // Per documentation throws OverLimitException, but in my testing, // they actually only throw AmazonServiceException final Integer max = request.getMaxNumberOfMessages(); if (max == null || max < 1 || max > 10) { throw new AmazonServiceException("MaxNumberOfMessages must be a value between [1,10]"); } final ReceiveMessageResult result = new ReceiveMessageResult(); int received = 0; boolean avail = true; while (received < request.getMaxNumberOfMessages() && avail) { try { final Message msg = allQueues.get(queueUrl).remove(0); received++; msg.setReceiptHandle(RECEIPT_ID_PREFIX + incrementer.getAndIncrement()); retrievedMessages.get(queueUrl).put(msg.getReceiptHandle(), msg); result.withMessages(msg); } catch (Exception ex) { avail = false; } } return result; }
From source file:smartthings.brave.sqs.AmazonSQSClientParser.java
License:Apache License
public void request(ReceiveMessageRequest request, SpanCustomizer customizer) { customizer.name(spanName(request));/*from w ww . j a v a2 s.c om*/ customizer.tag(AmazonSQSTraceKeys.SQS_QUEUE_URL, request.getQueueUrl()); }
From source file:smartthings.brave.sqs.AmazonSQSClientParser.java
License:Apache License
protected String spanName(ReceiveMessageRequest request) { return "receive_message-" + spanName(request.getQueueUrl()); }
From source file:smartthings.brave.sqs.TracingAmazonSQSClient.java
License:Apache License
@Override public ReceiveMessageResult receiveMessage(ReceiveMessageRequest receiveMessageRequest) { receiveMessageRequest = receiveMessageRequest.withMessageAttributeNames(tracing.propagation().keys()); ReceiveMessageResult result = delegate.receiveMessage(receiveMessageRequest); // complete in flight one-way spans for all received messages for (Message message : result.getMessages()) { TraceContextOrSamplingFlags traceContextOrSamplingFlags = extractor .extract(message.getMessageAttributes()); TraceContext ctx = traceContextOrSamplingFlags.context(); Span oneWay = withEndpoint((ctx != null) ? tracing.tracer().joinSpan(ctx) : tracing.tracer().newTrace(traceContextOrSamplingFlags.samplingFlags())); oneWay.kind(Span.Kind.SERVER);/* www . j ava 2s .c o m*/ parser.response(result, oneWay); oneWay.annotate("receive-" + parser.spanName(receiveMessageRequest.getQueueUrl())); oneWay.start().flush(); } return result; }