Examples of CQSMessage


Examples of com.comcast.cqs.model.CQSMessage

   
        attributes.put("SentTimestamp", "" + Calendar.getInstance().getTimeInMillis());
    List<CQSMessage> messageList = new ArrayList<CQSMessage>();
   
    for (int i=0; i<10; i++) {
      CQSMessage message = new CQSMessage("This is a test message id=" + i, attributes);
      message.setSuppliedMessageId("message_" + i);
      messageList.add(message);
    }
   
    Map<String, String> ret = persistence.sendMessageBatch(queue, 0, messageList);
    assertEquals(messageList.size(), ret.size());
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

  public void testGetMessages()  throws NoSuchAlgorithmException, PersistenceException, IOException, InterruptedException, JSONException {
   
    List<CQSMessage> messageList = new ArrayList<CQSMessage>();
   
    for (int i=0; i<10; i++) {
      CQSMessage message = new CQSMessage("This is a test message id=" + i, attributes);
      messageList.add(message);
      persistence.sendMessage(queue, 0, message);
    }
   
    List<String> messageIdList = new ArrayList<String>();
   
    for (CQSMessage message: messageList) {
      messageIdList.add(message.getMessageId());
    }
   
    Map<String, CQSMessage> receivedMessages = persistence.getMessages(queue.getRelativeUrl(), messageIdList);
    assertTrue(receivedMessages.size() == messageIdList.size());
   
    for (CQSMessage message : messageList) {
      CQSMessage receivedMessage = receivedMessages.get(message.getMessageId());
      assertNotNull(receivedMessage);
      assertTrue(compareMessages(message, receivedMessage));
    }
  }
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

      e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }

    CQSMessage cqsMessage = null;

    try {
      if (p.getValueByKey("Body") == null) {
        return new ArrayList<CQSMessage>();
      }
      cqsMessage = new CQSMessage(p.getValueByKey("Body"), p.getAttributes());
        cqsMessage.setMessageId(p.getValueByKey("MessageId"));
      cqsMessage.setReceiptHandle(p.getValueByKey("ReceiptHandle"));
        cqsMessage.setMD5OfBody(p.getValueByKey("MD5OfBody"));
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (UnsupportedEncodingException e) {
      e.printStackTrace();
    }
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

  public void testGetMessagesBulk() throws PersistenceException, NoSuchAlgorithmException, IOException, InterruptedException, JSONException {
   
    List<CQSMessage> messageList = new ArrayList<CQSMessage>();
   
    for (int i=0; i<105; i++) {
      CQSMessage message = new CQSMessage("This is a test message id=" + i, attributes);
      messageList.add(message);
      persistence.sendMessage(queue, 0, message);
    }
   
    List<String> messageIdList = new ArrayList<String>();
   
    for (CQSMessage message: messageList) {
      messageIdList.add(message.getMessageId());
    }
   
    Map<String, CQSMessage> receivedMessages = persistence.getMessages(queue.getRelativeUrl(), messageIdList);
    assertTrue(receivedMessages.size() == messageIdList.size());
   
    for (CQSMessage message : messageList) {
      CQSMessage receivedMessage = receivedMessages.get(message.getMessageId());
      assertNotNull(receivedMessage);
      assertTrue(compareMessages(message, receivedMessage));
    }
  }
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

      CmbColumn<CmbComposite, String> column = cassandraHandler.readColumn(AbstractDurablePersistence.CQS_KEYSPACE, COLUMN_FAMILY_PARTITIONED_QUEUE_MESSAGES,
          idParts[0], columnName, CMB_SERIALIZER.STRING_SERIALIZER,
          CMB_SERIALIZER.COMPOSITE_SERIALIZER,
          CMB_SERIALIZER.STRING_SERIALIZER);
     
      CQSMessage message = null;
     
      if (column != null) {
        message = extractMessageFromJSON(queueUrl, column);
      }
     
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

  public void testPeekQueue() throws Exception {
   
    List<CQSMessage> messageList = new ArrayList<CQSMessage>();
   
    for (int i=0; i<100; i++) {
      CQSMessage message = new CQSMessage("This is a test message id=" + i, attributes);
      messageList.add(message);
      persistence.sendMessage(queue, 0, message);
    }
   
    assertEquals(messageList.size(), getQueueMessageCount(queue.getRelativeUrl()));
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

    public void testPeekQueueRandom() throws Exception {
       
        List<CQSMessage> messageList = new ArrayList<CQSMessage>();
       
        for (int i=0; i<100; i++) {
            CQSMessage message = new CQSMessage("This is a test message id=" + i, attributes);
            messageList.add(message);
            persistence.sendMessage(queue, 0, message);
        }
       
        assertEquals(messageList.size(), getQueueMessageCount(queue.getRelativeUrl()));
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

                           
                        if (memId == null) {
                              throw new IllegalStateException("Underlying storage layer returned a message that was not requested");
                            }
                           
                        CQSMessage message = messageIdToMessage.getValue();
                           
                        if (message == null) {
                              logger.warn("event=message_is_null msg_id=" + messageIdToMessage.getKey());
                              continue;
                            }
                           
                            //check if message returned is expired. This will only happen if payload coming from payload-cache. Cassandra
                            //expires old messages just fine. If expired, skip over and continue.
                           
                        if (isMessageExpired(queue, memId)) {
                           
                          try {
                                    logger.debug("event=message_expired message_id=" + memId);
                                  persistenceStorage.deleteMessage(queue.getRelativeUrl(), message.getMessageId());
                                } catch (Exception e) {
                                    //its fine to ignore this exception since message must have been auto-deleted from Cassandra
                                    //but we need to do this to clean up payloadcache
                                    logger.debug("event=message_already_deleted_in_cassandra msg_id=" + message.getMessageId());
                                }
                               
                          continue;
                            }

                            //hide message if visibilityTO is greater than 0
                           
                        if (visibilityTO > 0) {
                                long ts1 = System.currentTimeMillis();
                                jedis.hset(queue.getRelativeUrl() + "-" + shard + "-H", memId, Long.toString(System.currentTimeMillis() + (visibilityTO * 1000)));
                                long ts2 = System.currentTimeMillis();
                                CQSControllerServlet.valueAccumulator.addToCounter(AccumulatorName.RedisTime, (ts2 - ts1));
                            }

                            message.setMessageId(memId);
                            message.setReceiptHandle(memId);

                            //get message-attributes and populate in message
                            Map<String, String> msgAttrs = (message.getAttributes() != null) ?  message.getAttributes() : new HashMap<String, String>();
                            List<String> attrs = jedis.hmget(queue.getRelativeUrl() + "-" + shard + "-A-" + memId, CQSConstants.REDIS_APPROXIMATE_FIRST_RECEIVE_TIMESTAMP, CQSConstants.REDIS_APPROXIMATE_RECEIVE_COUNT);
                           
                            if (attrs.get(0) == null) {
                                String firstRecvTS = Long.toString(System.currentTimeMillis());
                                jedis.hset(queue.getRelativeUrl() + "-" + shard + "-A-" + memId, CQSConstants.REDIS_APPROXIMATE_FIRST_RECEIVE_TIMESTAMP, firstRecvTS);
                                msgAttrs.put(CQSConstants.APPROXIMATE_FIRST_RECEIVE_TIMESTAMP, firstRecvTS);
                            } else {                           
                                msgAttrs.put(CQSConstants.APPROXIMATE_FIRST_RECEIVE_TIMESTAMP, attrs.get(0));
                            }
                           
                            int recvCount = 1;
                           
                            if (attrs.get(1) != null) {
                                recvCount = Integer.parseInt(attrs.get(1)) + 1;
                            }
                           
                            jedis.hset(queue.getRelativeUrl() + "-" + shard + "-A-" + memId, CQSConstants.REDIS_APPROXIMATE_RECEIVE_COUNT, Integer.toString(recvCount));
                            jedis.expire(queue.getRelativeUrl() + "-" + shard +  "-A-" + memId, 3600 * 24 * 14); //14 days expiration if not deleted
                            msgAttrs.put(CQSConstants.APPROXIMATE_RECEIVE_COUNT, Integer.toString(recvCount));
                            message.setAttributes(msgAttrs);
                            ret.add(message);
                        }
                       
                        if (ret.size() > 0) { //There may be cases where the underlying persistent message has two memIds while
                            //cache filling. In such cases trying to retrieve message for the second memId may result in no message
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

           
              jedis = getResource();
             
              for (String memId : memIdsRet) {
             
                CQSMessage message = ret.get(memId);
                 
                if (message != null) {
                 
                    // get message-attributes and populate in message
                 
                      Map<String, String> msgAttrs = (message.getAttributes() != null) ?  message.getAttributes() : new HashMap<String, String>();
                      List<String> attrs = jedis.hmget(queueUrl + "-" + shard + "-A-" + memId, CQSConstants.REDIS_APPROXIMATE_FIRST_RECEIVE_TIMESTAMP, CQSConstants.REDIS_APPROXIMATE_RECEIVE_COUNT);
                     
                      if (attrs.get(0) != null) {
                          msgAttrs.put(CQSConstants.APPROXIMATE_FIRST_RECEIVE_TIMESTAMP, attrs.get(0));
                      }
                     
                      if (attrs.get(1) != null) {
                        msgAttrs.put(CQSConstants.APPROXIMATE_RECEIVE_COUNT, Integer.toString(Integer.parseInt(attrs.get(1))));
                      }
                     
                      message.setAttributes(msgAttrs);
                      messages.add(message);
                  }
              }
            } catch (JedisConnectionException e) {
                logger.error("event=peek_message error_code=redis_unavailable num_connections=" + numRedisConnections.get());
                brokenJedis = true;
                cacheAvailable = false;
            } finally {
                if (jedis != null) {
                    returnResource(jedis, brokenJedis);
                }
            }
           
            logger.debug("event=peek_queue cache=available queue_url=" + queueUrl + " shard=" + shard + " num_messages=" + messages.size());
            return messages;
       
      } else { //get from underlying storage
        String relativeUrlHash = Util.getQueueUrlHashFromCache(queueUrl);
        if (previousReceiptHandle != null) { //strip out this layer's id
                previousReceiptHandle = getMemQueueMessageMessageId(relativeUrlHash, previousReceiptHandle);
            }
           
        if (nextReceiptHandle != null) {
                nextReceiptHandle = getMemQueueMessageMessageId(relativeUrlHash, nextReceiptHandle);
            }       
           
        List<CQSMessage> messages = persistenceStorage.peekQueue(queueUrl, shard, previousReceiptHandle, nextReceiptHandle, length);
           
        for (CQSMessage message : messages) {
                String memId = getMemQueueMessage(message.getMessageId()); //TODO: initialDelay is 0
                message.setMessageId(memId);
                message.setReceiptHandle(memId);
            }
       
            logger.debug("event=peek_queue cache=unavailable queue_url=" + queueUrl + " shard=" + shard + " num_messages=" + messages.size());
            return messages;
        }
View Full Code Here

Examples of com.comcast.cqs.model.CQSMessage

       
        Map<String, CQSMessage> persisMap = persistenceStorage.getMessages(queueUrl, messageIds);
        Map<String, CQSMessage> ret = new HashMap<String, CQSMessage>();
       
        for (Entry<String, CQSMessage> idToMessage : persisMap.entrySet()) {
            CQSMessage msg = idToMessage.getValue();
            if (msg == null) {
              continue;
            }
            String memId = messageIdToMemId.get(idToMessage.getKey());
            msg.setMessageId(memId);
            msg.setReceiptHandle(memId);
            ret.put(memId, msg);
        }
       
        return ret;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.