Adding correct message numbers with jdbc storage 
-------------------------------------------------

                 Key: SANDESHA2-179
                 URL: https://issues.apache.org/jira/browse/SANDESHA2-179
             Project: Sandesha2
          Issue Type: Bug
            Reporter: Amila Chinthaka Suriarachchi


I ran a 100 message message sequence  using the jdbc storage. The message 
receiver looks like this,

protected void invokeBusinessLogic(MessageContext messageContext)
            throws AxisFault {
        System.out.println("Got the soap message ==> " + 
messageContext.getEnvelope().getBody().getFirstElement());
    }

and the client has this code to produce 100 messages.

for (int i = 1; i < 100; i++) {
        serviceClient.fireAndForget(getTestOMElement(i));
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                }
   }

private OMElement getTestOMElement(long number) {
        OMFactory omFactory = OMAbstractFactory.getOMFactory();
        OMNamespace omNamespace = 
omFactory.createOMNamespace("http://wso2.org/temp1";, "ns1");
        OMElement omElement = omFactory.createOMElement("TestElement", 
omNamespace);
        omElement.setText("org element " + number);
        return omElement;
    }

so I expects a 1 - 100 message sequence as follows on the server side console.

Got the soap message ==> <ns1:TestElement xmlns:ns1="http://wso2.org/temp1";>org 
element 1</ns1:TestElement>
Got the soap message ==> <ns1:TestElement xmlns:ns1="http://wso2.org/temp1";>org 
element 2</ns1:TestElement>
Got the soap message ==> <ns1:TestElement xmlns:ns1="http://wso2.org/temp1";>org 
element 3</ns1:TestElement>

but there were some missing messages in this sequence

Got the soap message ==> <ns1:TestElement xmlns:ns1="http://wso2.org/temp1";>org 
element 14</ns1:TestElement>
Got the soap message ==> <ns1:TestElement xmlns:ns1="http://wso2.org/temp1";>org 
element 15</ns1:TestElement>
Got the soap message ==> <ns1:TestElement xmlns:ns1="http://wso2.org/temp1";>org 
element 17</ns1:TestElement>

However message sequence terminates properly. but server sends acknowledgments 
only for 96 messsages.

Then I went through each and every message using tcp mon and saw the following.

<wsrm:Sequence xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"; 
soapenv:mustUnderstand="1">
            
<wsrm:Identifier>urn:uuid:63C7D88DAE5A969F4C1224742882720</wsrm:Identifier>
            <wsrm:MessageNumber>15</wsrm:MessageNumber>
         </wsrm:Sequence>
      </soapenv:Header>
      <soapenv:Body>
         <ns1:TestElement xmlns:ns1="http://wso2.org/temp1";>org element 
15</ns1:TestElement>
      </soapenv:Body>

<wsrm:Sequence xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"; 
soapenv:mustUnderstand="1">
            
<wsrm:Identifier>urn:uuid:63C7D88DAE5A969F4C1224742882720</wsrm:Identifier>
            <wsrm:MessageNumber>15</wsrm:MessageNumber>
         </wsrm:Sequence>
      </soapenv:Header>
      <soapenv:Body>
         <ns1:TestElement xmlns:ns1="http://wso2.org/temp1";>org element 
16</ns1:TestElement>
      </soapenv:Body>

So the reason is that the message number 15 is repeated in two messages. But 
this did not happen with the Inmemory mode. Seems to be a transaction handling 
problem. I am testing with the Derby data base.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to