List of usage examples for com.amazonaws.services.sns.model PublishRequest getTopicArn
public String getTopicArn()
The topic you want to publish to.
From source file:com.clicktravel.infrastructure.messaging.aws.sns.PublishRequestArgumentMatcher.java
License:Apache License
@Override public boolean matches(final Object argument) { if (argument instanceof PublishRequest) { final PublishRequest request = (PublishRequest) argument; if (!topicArn.equals(request.getTopicArn())) { return false; }//w w w . j a va 2s . c o m if (!subject.equals(request.getSubject())) { return false; } if (!message.equals(request.getMessage())) { return false; } return true; } return false; }
From source file:org.apache.usergrid.persistence.queue.impl.SNSQueueManagerImpl.java
License:Apache License
@Override public <T extends Serializable> void sendMessageToAllRegions(final T body) throws IOException { if (snsAsync == null) { logger.error("SNS client is null, perhaps it failed to initialize successfully"); return;/* w w w . ja v a 2 s. c om*/ } final String stringBody = toString(body); String topicArn = getWriteTopicArn(); if (logger.isTraceEnabled()) { logger.trace("Publishing Message...{} to arn: {}", stringBody, topicArn); } PublishRequest publishRequest = new PublishRequest(topicArn, stringBody); snsAsync.publishAsync(publishRequest, new AsyncHandler<PublishRequest, PublishResult>() { @Override public void onError(Exception e) { logger.error("Error publishing message... {}", e); } @Override public void onSuccess(PublishRequest request, PublishResult result) { if (logger.isTraceEnabled()) { logger.trace("Successfully published... messageID=[{}], arn=[{}]", result.getMessageId(), request.getTopicArn()); } } }); }
From source file:org.springframework.integration.aws.outbound.SnsMessageHandler.java
License:Apache License
@Override protected Object handleRequestMessage(Message<?> requestMessage) { Object payload = requestMessage.getPayload(); PublishRequest publishRequest = null; if (payload instanceof PublishRequest) { publishRequest = (PublishRequest) payload; } else {// w ww . j av a 2 s . com Assert.state(this.topicArnExpression != null, "'topicArn' or 'topicArnExpression' must be specified."); publishRequest = new PublishRequest(); String topicArn = this.topicArnExpression.getValue(this.evaluationContext, requestMessage, String.class); if (this.resourceIdResolver != null) { topicArn = this.resourceIdResolver.resolveToPhysicalResourceId(topicArn); } publishRequest.setTopicArn(topicArn); if (this.subjectExpression != null) { String subject = this.subjectExpression.getValue(this.evaluationContext, requestMessage, String.class); publishRequest.setSubject(subject); } Object snsMessage = requestMessage.getPayload(); if (this.bodyExpression != null) { snsMessage = this.bodyExpression.getValue(this.evaluationContext, requestMessage); } if (snsMessage instanceof SnsBodyBuilder) { publishRequest.withMessageStructure("json").setMessage(((SnsBodyBuilder) snsMessage).build()); } else { publishRequest.setMessage(getConversionService().convert(snsMessage, String.class)); } } PublishResult publishResult = this.amazonSns.publish(publishRequest); if (this.produceReply) { return getMessageBuilderFactory().withPayload(publishRequest) .setHeader(AwsHeaders.TOPIC, publishRequest.getTopicArn()) .setHeader(AwsHeaders.SNS_PUBLISHED_MESSAGE_ID, publishResult.getMessageId()); } else { return null; } }
From source file:smartthings.brave.sns.PublishRequestTracingHandler.java
License:Apache License
@Override public AmazonWebServiceRequest beforeMarshalling(AmazonWebServiceRequest request) { if (request instanceof PublishRequest) { PublishRequest publishRequest = (PublishRequest) request; Span oneWay = tracing.tracer().nextSpan() .remoteEndpoint(Endpoint.newBuilder().serviceName(SERVICE_NAME).build()).kind(Span.Kind.CLIENT) .start();/*from w ww.j av a 2 s . c om*/ injector.inject(oneWay.context(), publishRequest.getMessageAttributes()); String name = "unknown_topic"; if (publishRequest.getTopicArn() != null) { name = publishRequest.getTopicArn(); } oneWay.name(name); oneWay.tag(SNS_TOPIC_ARN, name); tracing.tracer().withSpanInScope(oneWay); } return request; }