Example usage for com.amazonaws.services.sns.model PublishRequest getTopicArn

List of usage examples for com.amazonaws.services.sns.model PublishRequest getTopicArn

Introduction

In this page you can find the example usage for com.amazonaws.services.sns.model PublishRequest getTopicArn.

Prototype


public String getTopicArn() 

Source Link

Document

The topic you want to publish to.

Usage

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;
}