Examples of RangeString


Examples of org.apache.sandesha2.util.RangeString

    boolean anonReplyTo = replyTo==null || replyTo.isWSAddressingAnonymous(); //if this is wsa anonymous
                                        //then we might be using replay

    // Compare the clientCompletedMessages with the range we just got, to work out if there
    // is any new information in this ack message
    RangeString completedMessages = rmsBean.getClientCompletedMessages();
    long numberOfNewMessagesAcked = 0;

    boolean ackNeedsToSendInvalidFault = false; //if this ack includes a msg that we have not sent then
                          //we should try to send a fault back to the client
    Range firstInvalidRange = null;        //If there is a single invalid range then we set it here.
                          //If there is more than one we report the first invalid range

    //adding a MakeConnection for the response sequence if needed.
    if (rmsBean.getOfferedSequence() != null) {

      RMDBeanMgr rMDBeanMgr = storageManager.getRMDBeanMgr();
      RMDBean rMDBean = rMDBeanMgr.retrieve(outSequenceId);

      if (rMDBean!=null && rMDBean.isPollingMode()) {
        PollingManager manager = storageManager.getPollingManager();
        if(manager != null) manager.schedulePollingRequest(rMDBean.getSequenceID(), false);
      }
    }

    while(ackRangeIterator.hasNext()) {
      Range ackRange = (Range) ackRangeIterator.next();
      long lower = ackRange.lowerValue;
      long upper = ackRange.upperValue;
      Range ackedRange = new Range(lower, upper);
      // Quick check to see if the whole range is already covered
      if(!completedMessages.isRangeCompleted(ackedRange)) {
        //we now know that this range is complete so we update it. This should aggregate the
        //ranges together and tell us which numbers are newly acked
        Range[] newRanges = completedMessages.addRange(ackedRange).getRanges();

        // We now take each newly acked message in turn and see if we need to update a sender bean
        for (int rangeIndex=0; rangeIndex < newRanges.length; rangeIndex++) {
          //now work on each newly acked message in this range
          for(long messageNo = newRanges[rangeIndex].lowerValue; messageNo<=newRanges[rangeIndex].upperValue; messageNo++){
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

    rmdBean.setSequenceID(sequenceID);
    rmdBean.setToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setAcksToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setReplyToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    rmdBean.setServerCompletedMessages(new RangeString());
    rmdBean.setHighestInMessageNumber(0);
    rmdBean.setNextMsgNoToProcess(1);
 
    // Create a transaction and insert the RMSBean
    Transaction tran = storageManager.getTransaction();
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

    rmsBean.setInternalSequenceID(SandeshaUtil.getInternalSequenceID(sequenceID, null));
    rmsBean.setToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmsBean.setAcksToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmsBean.setReplyToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmsBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    rmsBean.setClientCompletedMessages(new RangeString());
    rmsBean.setNextMessageNumber(1);
   
    // Create a transaction and insert the RMSBean
    Transaction tran = storageManager.getTransaction();
   
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

    rmdBean.setSequenceID(seqID);
    rmdBean.setToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setAcksToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setReplyToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    rmdBean.setServerCompletedMessages(new RangeString());
    // Flag that the sequence is terminated.
    rmdBean.setTerminated(true);
   
    // Create a transaction and insert the RMSBean
    Transaction tran = storageManager.getTransaction();
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

    rmdBean.setSequenceID(seqID);
    rmdBean.setToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setAcksToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setReplyToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    rmdBean.setServerCompletedMessages(new RangeString());
    // Flag that the sequence is terminated.
    rmdBean.setTerminated(true);
   
    // Create a transaction and insert the RMSBean
    Transaction tran = storageManager.getTransaction();
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

    rmdBean.setSequenceID(seqID);
    rmdBean.setToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setAcksToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setReplyToEndpointReference(new EndpointReference(AddressingConstants.Final.WSA_ANONYMOUS_URL));
    rmdBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    rmdBean.setServerCompletedMessages(new RangeString());
    // Flag that the sequence is terminated.
    rmdBean.setTerminated(true);
   
    // Create a transaction and insert the RMSBean
    Transaction tran = storageManager.getTransaction();
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

   
  }
 
  public void testGetAckRangesFromRangeStringOutOfOrder() {
   
    RangeString rangeString = new RangeString();
    rangeString.addRange(new Range(3));
    rangeString.addRange(new Range(6));
    rangeString.addRange(new Range(1));
    rangeString.addRange(new Range(5));
    rangeString.addRange(new Range(8));
    rangeString.addRange(new Range(2));
   
    ArrayList<Range> list = SandeshaUtil.getAckRangeArrayList(rangeString,Sandesha2Constants.SPEC_2005_02.NS_URI);
    assertNotNull(list);
    assertEquals(list.size(),3);
   
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

    assertFalse(it.hasNext());
  }
 
  public void testGetAckRangesFromRangeStringGapFilling () {
    //build a range string to represent the completed messages
    RangeString rangeString = new RangeString();
    rangeString.addRange(new Range(1,3));
    rangeString.addRange(new Range(4));
    //insert a gap - number 5 is missing
    rangeString.addRange(new Range(6));
    //insert a gap - 7 and 8 are missing
    rangeString.addRange(new Range(9, 10));
   
    ArrayList<Range> list = SandeshaUtil.getAckRangeArrayList(rangeString,Sandesha2Constants.SPEC_2005_02.NS_URI);
    assertNotNull(list);
    //we expect 3 ranges: [1-4] [6] [9-10]
    assertEquals(list.size(),3);
   
    Iterator<Range> it = list.iterator();
    Range ackRange = null;
   
    ackRange = (Range) it.next();
    assertNotNull(ackRange);
    assertEquals(ackRange.lowerValue,1);
    assertEquals(ackRange.upperValue,4);
   
    ackRange = null;
    ackRange = (Range) it.next();
    assertNotNull(ackRange);
    assertEquals(ackRange.lowerValue,6);
    assertEquals(ackRange.upperValue,6);
   
    ackRange = null;
    ackRange = (Range) it.next();
    assertNotNull(ackRange);
    assertEquals(ackRange.lowerValue,9);
    assertEquals(ackRange.upperValue,10);
   
    assertFalse(it.hasNext());
   
    //ok, now plug a gap at msg 5
    rangeString.addRange(new Range(5));
    list = SandeshaUtil.getAckRangeArrayList(rangeString,Sandesha2Constants.SPEC_2005_02.NS_URI);
    assertNotNull(list);
    //we expect 2 ranges: [1-6] [9-10]
    it = list.iterator();
    ackRange = null;
   
    ackRange = (Range) it.next();
    assertNotNull(ackRange);
    assertEquals(ackRange.lowerValue,1);
    assertEquals(ackRange.upperValue,6);
   
    ackRange = null;
    ackRange = (Range) it.next();
    assertNotNull(ackRange);
    assertEquals(ackRange.lowerValue,9);
    assertEquals(ackRange.upperValue,10);
   
    assertFalse(it.hasNext());
   
    //plug all of the gaps - 7 and 8
    rangeString.addRange(new Range(8));
    rangeString.addRange(new Range(7,8));
    list = SandeshaUtil.getAckRangeArrayList(rangeString,Sandesha2Constants.SPEC_2005_02.NS_URI);
    assertNotNull(list);
    //we expect 1 ranges: [1-10]
    it = list.iterator();
    ackRange = null;
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

      assertNotNull(rMDBean);
      assertEquals(rMDBean.getNextMsgNoToProcess(), 4);
     
      //also check that the sequence has an out of order gap that contains msg 2     
      assertNotNull(rMDBean.getOutOfOrderRanges());
      RangeString rangeString = rMDBean.getOutOfOrderRanges();
      assertTrue(rangeString.isMessageNumberInRanges(2));
      t.commit();
     
      //we deliver msg 2
      //set highest out msg number to 1
      String internalSequenceId = SandeshaUtil.getInternalSequenceID(to, sequenceKey);
View Full Code Here

Examples of org.apache.sandesha2.util.RangeString

  {
    //setup the RMSBean
    expectedRMSBean = new RMSBean();
    expectedRMSBean.setAnonymousUUID("someAnonymousUUID");
    expectedRMSBean.setAvoidAutoTermination(true);
    expectedRMSBean.setClientCompletedMessages(new RangeString());
    expectedRMSBean.setClosed(true);
    expectedRMSBean.setCreateSeqMsgID("someCSeqMsgId");
    expectedRMSBean.setCreateSequenceMsgStoreKey("someMsgStoreKey");
    expectedRMSBean.setExpectedReplies(1);
    expectedRMSBean.setHighestOutMessageNumber(1);
    expectedRMSBean.setHighestOutRelatesTo("someRelatesTo");
    expectedRMSBean.setInternalSequenceID("someInternalSequenceID");
    expectedRMSBean.setLastActivatedTime(1);
    expectedRMSBean.setLastOutMessage(1);
    expectedRMSBean.setLastSendError(new Exception());
    expectedRMSBean.setLastSendErrorTimestamp(1);
    expectedRMSBean.setNextMessageNumber(1);
    expectedRMSBean.setOfferedEndPoint("someEndPoint");
    expectedRMSBean.setOfferedSequence("offeredSequence");
    expectedRMSBean.setPollingMode(true);
    expectedRMSBean.setReferenceMessageStoreKey("someRefMsgStoreKey");
    expectedRMSBean.setRMVersion(Sandesha2Constants.SPEC_VERSIONS.v1_1);
    expectedRMSBean.setSecurityTokenData("someSecurityToken");
    expectedRMSBean.setSequenceClosedClient(true);
    expectedRMSBean.setSequenceID("someSequenceID");
    expectedRMSBean.setServiceName("someService");
    expectedRMSBean.setSoapVersion(1);
    expectedRMSBean.setTerminateAdded(true);
    expectedRMSBean.setTerminationPauserForCS(true);
    expectedRMSBean.setTimedOut(true);
    expectedRMSBean.setTransaction(null);
    expectedRMSBean.setTransportTo("transportTo");
    expectedRMSBean.setToEndpointReference(epr);
    expectedRMSBean.setReplyToEndpointReference(epr);
    expectedRMSBean.setAcksToEndpointReference(epr);
   
    //setup the RMDBean
    expectedRMDBean = new RMDBean();
    expectedRMDBean.setClosed(true);
    expectedRMDBean.setHighestInMessageId("someMsgId");
    expectedRMDBean.setLastActivatedTime(1);
    expectedRMDBean.setNextMsgNoToProcess(1);
    expectedRMDBean.setOutboundInternalSequence("someSequenceID");
    expectedRMDBean.setOutOfOrderRanges(new RangeString());
    expectedRMDBean.setPollingMode(true);
    expectedRMDBean.setReferenceMessageKey("someRefMsgStoreKey");
    expectedRMDBean.setRMVersion("someVersion");
    expectedRMDBean.setSecurityTokenData("someTokenData");
    expectedRMDBean.setSequenceID("someSequenceID");
    expectedRMDBean.setServerCompletedMessages(new RangeString());
    expectedRMDBean.setServiceName("someService");
    expectedRMDBean.setTerminated(true);
    expectedRMDBean.setToEndpointReference(epr);
    expectedRMDBean.setReplyToEndpointReference(epr);
    expectedRMDBean.setAcksToEndpointReference(epr);
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.