Example usage for com.amazonaws.services.sns.model CreateTopicRequest setName

List of usage examples for com.amazonaws.services.sns.model CreateTopicRequest setName

Introduction

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

Prototype


public void setName(String name) 

Source Link

Document

The name of the topic you want to create.

Usage

From source file:com.oneops.antenna.senders.aws.SNSService.java

License:Apache License

/**
 * Sends using the sns publisher//from   w  w  w.  j a  v a 2s  .  co m
 */
@Override
public boolean postMessage(NotificationMessage nMsg, BasicSubscriber subscriber) {

    SNSSubscriber sub;
    if (subscriber instanceof SNSSubscriber) {
        sub = (SNSSubscriber) subscriber;
    } else {
        throw new ClassCastException("invalid subscriber " + subscriber.getClass().getName());
    }

    SNSMessage msg = buildSNSMessage(nMsg);
    AmazonSNS sns = new AmazonSNSClient(new BasicAWSCredentials(sub.getAwsAccessKey(), sub.getAwsSecretKey()));
    if (sub.getSnsEndpoint() != null) {
        sns.setEndpoint(sub.getSnsEndpoint());
    }

    CreateTopicRequest tRequest = new CreateTopicRequest();
    tRequest.setName(msg.getTopicName());
    CreateTopicResult result = sns.createTopic(tRequest);

    PublishRequest pr = new PublishRequest(result.getTopicArn(), msg.getTxtMessage())
            .withSubject(msg.getSubject());

    try {
        PublishResult pubresult = sns.publish(pr);
        logger.info("Published msg with id - " + pubresult.getMessageId());
    } catch (AmazonClientException ace) {
        logger.error(ace.getMessage());
        return false;
    }
    return true;
}