Package com.amazonaws.services.sns

Examples of com.amazonaws.services.sns.AmazonSNSClient


      accessKey3 = user3.getAccessKey();
      accessSecret3 = user3.getAccessSecret();
    }   

    if (cnsServiceUrl != null) {
      cns1 = new AmazonSNSClient(credentials1);
        cns1.setEndpoint(cnsServiceUrl);
      cns2 = new AmazonSNSClient(credentials2);
      cns2.setEndpoint(cnsServiceUrl);
      cns3 = new AmazonSNSClient(credentials3);
      cns3.setEndpoint(cnsServiceUrl);
      deleteAllTopics(cns1);
      deleteAllTopics(cns2);
      deleteAllTopics(cns3);
    }
View Full Code Here


            // initialize service

            AmazonSQSClient sqs = new AmazonSQSClient(user1Credentials);
            sqs.setEndpoint(cqsServerUrl);

            AmazonSNSClient sns = new AmazonSNSClient(user2Credentials);
            sns.setEndpoint(cnsServerUrl);
       
            // create queue
           
        Random randomGenerator = new Random();
       
        String queueName = QUEUE_PREFIX + randomGenerator.nextLong();
         
          HashMap<String, String> attributeParams = new HashMap<String, String>();
          CreateQueueRequest createQueueRequest = new CreateQueueRequest(queueName);
          createQueueRequest.setAttributes(attributeParams);
          String queueUrl = sqs.createQueue(createQueueRequest).getQueueUrl();
         
          AddPermissionRequest addPermissionRequest = new AddPermissionRequest();
          addPermissionRequest.setQueueUrl(queueUrl);
          addPermissionRequest.setActions(Arrays.asList("SendMessage"));
          addPermissionRequest.setLabel(UUID.randomUUID().toString());
          addPermissionRequest.setAWSAccountIds(Arrays.asList(user2Id));       
          sqs.addPermission(addPermissionRequest);
         
          // create topic
         
          String topicName = "TSTT" + randomGenerator.nextLong();
           
      CreateTopicRequest createTopicRequest = new CreateTopicRequest(topicName);
      CreateTopicResult createTopicResult = sns.createTopic(createTopicRequest);
      String topicArn = createTopicResult.getTopicArn();
     
      // subscribe and confirm cqs endpoint
     
      SubscribeRequest subscribeRequest = new SubscribeRequest();
      String queueArn = getArnForQueueUrl(queueUrl);
      subscribeRequest.setEndpoint(queueArn);
      subscribeRequest.setProtocol("cqs");
      subscribeRequest.setTopicArn(topicArn);
      SubscribeResult subscribeResult = sns.subscribe(subscribeRequest);
      String subscriptionArn = subscribeResult.getSubscriptionArn();
     
      if (subscriptionArn.equals("pending confirmation")) {
       
        Thread.sleep(500);
       
        ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest();
        receiveMessageRequest.setQueueUrl(queueUrl);
        receiveMessageRequest.setMaxNumberOfMessages(1);
        ReceiveMessageResult receiveMessageResult = sqs.receiveMessage(receiveMessageRequest);
       
        List<Message> messages = receiveMessageResult.getMessages();
       
        if (messages != null && messages.size() == 1) {
         
            JSONObject o = new JSONObject(messages.get(0).getBody());
           
            if (!o.has("SubscribeURL")) {
              throw new Exception("message is not a confirmation messsage");
            }
           
            String subscriptionUrl = o.getString("SubscribeURL");
            httpGet(subscriptionUrl);
           
            DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest();
            deleteMessageRequest.setReceiptHandle(messages.get(0).getReceiptHandle());
            deleteMessageRequest.setQueueUrl(queueUrl);
            sqs.deleteMessage(deleteMessageRequest);
       
        } else {
          throw new Exception("no confirmation message found");
        }
      }
     
      // publish and receive message
     
      PublishRequest publishRequest = new PublishRequest();
      String messageText = "quamvis sint sub aqua, sub aqua maledicere temptant";
      publishRequest.setMessage(messageText);
      publishRequest.setSubject("unit test message");
      publishRequest.setTopicArn(topicArn);
      sns.publish(publishRequest);
     
      Thread.sleep(500);

      ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest();
      receiveMessageRequest.setQueueUrl(queueUrl);
      receiveMessageRequest.setMaxNumberOfMessages(1);
      ReceiveMessageResult receiveMessageResult = sqs.receiveMessage(receiveMessageRequest);
     
      List<Message> messages = receiveMessageResult.getMessages();
     
      if (messages != null && messages.size() == 1) {
       
        String messageBody = messages.get(0).getBody();
       
        if (!messageBody.contains(messageText)) {
          throw new Exception("message text not found");
        }
       
          DeleteMessageRequest deleteMessageRequest = new DeleteMessageRequest();
          deleteMessageRequest.setReceiptHandle(messages.get(0).getReceiptHandle());
          deleteMessageRequest.setQueueUrl(queueUrl);
          sqs.deleteMessage(deleteMessageRequest);

      } else {
        throw new Exception("no messages found");
      }
     
      // subscribe and confirm http endpoint

      String id = randomGenerator.nextLong() + "";
      String endPointUrl = CMBTestingConstants.HTTP_ENDPOINT_BASE_URL + "recv/" + id;
      String lastMessageUrl = CMBTestingConstants.HTTP_ENDPOINT_BASE_URL + "info/" + id + "?showLast=true";
     
      subscribeRequest = new SubscribeRequest();
      subscribeRequest.setEndpoint(endPointUrl);
      subscribeRequest.setProtocol("http");
      subscribeRequest.setTopicArn(topicArn);
      subscribeResult = sns.subscribe(subscribeRequest);
      subscriptionArn = subscribeResult.getSubscriptionArn();
     
      if (subscriptionArn.equals("pending confirmation")) {
       
        Thread.sleep(500);
       
        String response = httpGet(lastMessageUrl);
         
          JSONObject o = new JSONObject(response);
         
          if (!o.has("SubscribeURL")) {
            throw new Exception("message is not a confirmation messsage");
          }
         
          String subscriptionUrl = o.getString("SubscribeURL");
         
          response = httpGet(subscriptionUrl);
      }     
     
      // publish and receive message
     
      publishRequest = new PublishRequest();
      publishRequest.setMessage(messageText);
      publishRequest.setSubject("unit test message");
      publishRequest.setTopicArn(topicArn);
      sns.publish(publishRequest);
     
      Thread.sleep(500);
     
      String response = httpGet(lastMessageUrl);
     
      if (response != null && response.length() > 0) {
       
        if (!response.contains(messageText)) {
          throw new Exception("message text not found");
        }
       
      } else {
        throw new Exception("no messages found");
      }
     
      // delete queue and topic
     
      DeleteTopicRequest  deleteTopicRequest = new DeleteTopicRequest(topicArn);
      sns.deleteTopic(deleteTopicRequest);
     
          sqs.deleteQueue(new DeleteQueueRequest(queueUrl));
         
          System.out.println("OK");
     
View Full Code Here

        awsCredentials = new BasicAWSCredentials(CMBProperties.getInstance().getAwsAccessKey(), CMBProperties.getInstance().getAwsAccessSecret());
      }
     
      ClientConfiguration clientConfiguration = new ClientConfiguration();

      AmazonSNSClient sns = new AmazonSNSClient(awsCredentials, clientConfiguration);

      if (useLocalSns) {
        sns.setEndpoint(CMBProperties.getInstance().getCNSServiceUrl());
      }
     
      for (int k=0; k<NUM_TOPICS; k++) {
     
        // set up topics
       
        CreateTopicRequest createTopicRequest = new CreateTopicRequest(TOPIC_NAME_PREFIX + k);
 
        CreateTopicResult createTopicResult = sns.createTopic(createTopicRequest);
 
        String topicArn = createTopicResult.getTopicArn();
       
        topics.add(topicArn);
       
        // set up subscriptions
       
        for (int i=0; i<NUM_SUBSCRIBERS_PER_TOPIC;i++) {
 
          String subscriptionId = UUID.randomUUID().toString();
         
          /*String subscriptionUrl = null;
         
          int idx = rand.nextInt(100);

          if (idx < 50) {
            subscriptionUrl = endpointUrls[2] + subscriptionId;
          } else if (idx < 75) {
            subscriptionUrl = endpointUrls[1] + subscriptionId;
          } else {
            subscriptionUrl = endpointUrls[0] + subscriptionId;
          }*/
         
          String subscriptionUrl = endpointUrls[rand.nextInt(endpointUrls.length)] + subscriptionId;
         
          //subscriptionUrl += "?delayMS=10000";
          //subscriptionUrl += "?errorCode=404";
         
          SubscribeRequest subscribeRequest = new SubscribeRequest();
          subscribeRequest.setEndpoint(subscriptionUrl);
          subscribeRequest.setProtocol("http");
          subscribeRequest.setTopicArn(topicArn);
         
          sns.subscribe(subscribeRequest);
         
          //String subscriptionArn = subscribeResult.getSubscriptionArn();
        }

        List<CNSSubscription> confirmedSubscriptions = CNSTestingUtils.confirmPendingSubscriptionsByTopic(topicArn, user.getUserId(), CnsSubscriptionProtocol.http);
       
        for (CNSSubscription s : confirmedSubscriptions) {
          logger.info("event=subscribe endpoint=" +  s.getEndpoint() + " subscription_arn=" + s.getArn() + " topic_arn=" + s.getTopicArn());
        }
      }
     
      // publish messages
     
      ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(NUM_TOPICS*NUM_THREADS_PER_TOPIC);
       
      for (String arn : topics) {
        for (int i=0; i<NUM_THREADS_PER_TOPIC; i ++) {
          scheduledExecutorService.scheduleWithFixedDelay(new MessageSender(sns, arn), rand.nextInt(100), 1000*NUM_THREADS_PER_TOPIC/NUM_MESSAGES_PER_SEC, TimeUnit.MILLISECONDS);
        }
      }
       
        Thread.sleep(TEST_DURATION_SECS*1000);

        scheduledExecutorService.shutdown();

      // unsubscribe

      /*UnsubscribeRequest unsubscribeRequest = new UnsubscribeRequest();
      unsubscribeRequest.setSubscriptionArn(subscriptionArn);
     
      sns.unsubscribe(unsubscribeRequest);*/
     
      // delete topics
       
        if (DELETE_TOPIC) {
         
          Thread.sleep(10000);
 
        for (String arn : topics) {
       
          DeleteTopicRequest  deleteTopicRequest = new DeleteTopicRequest(arn);
          sns.deleteTopic(deleteTopicRequest);
         
          logger.info("event=delete_topic arn=" + arn);
        }     
        }

View Full Code Here

        awsCredentials = new BasicAWSCredentials(user.getAccessKey(), user.getAccessSecret());
       
        sqs = new AmazonSQSClient(awsCredentials);
        sqs.setEndpoint(CMBProperties.getInstance().getCQSServiceUrl());
       
        sns = new AmazonSNSClient(awsCredentials);
        sns.setEndpoint(CMBProperties.getInstance().getCNSServiceUrl());
    }
View Full Code Here

      messageMarshaller = new JsonMessageMarshaller();
    }

    if (snsTestProxy == null) {
      if (awsClientConfiguration == null) {
        client = new AmazonSNSClient(awsCredentialsProvider);
      } else {
        client = new AmazonSNSClient(awsCredentialsProvider,
            awsClientConfiguration);
      }
      if (regionId != null) {
        client.setEndpoint(String.format("sns.%s.amazonaws.com",
            regionId));
View Full Code Here

    private static final Log log = LogFactory.getLog(JobStatusMonitor.class);

    public JobStatusMonitor(AWSCredentialsProvider credentialsProvider, ClientConfiguration clientConfiguration) {
        sqs = new AmazonSQSClient(credentialsProvider, clientConfiguration);
        sns = new AmazonSNSClient(credentialsProvider, clientConfiguration);
        setupQueueAndTopic();
    }
View Full Code Here

    if (credentials != null) {
      this.credentials = new PropertiesCredentials(credentials);
      this.client = new AmazonGlacierClient(this.credentials);
      this.sqs = new AmazonSQSClient(this.credentials);
      this.sns = new AmazonSNSClient(this.credentials);
    }

    if (endpoint != null) {
      this.setEndpoint(endpoint);
    }
View Full Code Here

TOP

Related Classes of com.amazonaws.services.sns.AmazonSNSClient

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.