You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by Amila Suriarachchi <am...@gmail.com> on 2008/12/08 08:42:01 UTC
Sandesha2 Persistence recovery.
hi,
I tested a sample in only service with the following message receiver,
protected void invokeBusinessLogic(MessageContext messageContext)
throws AxisFault {
System.out.println("Got the soap message ==> " +
messageContext.getEnvelope().getBody().getFirstElement());
}
and the client with the jdbc persistence storage.
ServiceClient serviceClient = new ServiceClient(configurationContext, null);
serviceClient.setTargetEPR(new EndpointReference("
http://localhost:8088/axis2/services/TestInService"));
serviceClient.getOptions().setAction("urn:TestInOperation");
serviceClient.engageModule("sandesha2");
serviceClient.engageModule("MessageDropModule");
serviceClient.getOptions().setUseSeparateListener(true);
serviceClient.getOptions().setProperty(SandeshaClientConstants.INTERNAL_SEQUENCE_ID,
"key1");
for (int i = 1; i < 10; i++) {
serviceClient.fireAndForget(getTestOMElement(i));
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
serviceClient.fireAndForget(getTestOMElement(11));
Every thing works fine.
Then I stopped the server while message sequence is going and restarted. It
could resume the sequence from the stopped point. But sever does not
send the acknowledges to the client. As a result client resends the
messages.
Could any one work this scenario with any other persistence implementation?
I just stopped and started. is there any other parameters to set?
thanks,
Amila.
--
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/