Hi,everybody
I want to use the xmlblaster as a mom in my work, and there is a
publish/subscribe scenario:
There is a business logic which deals with the messages delivered from the
xmlbalster server in the update method of the subscriber, if the business logic
returns false, maybe there has some errors in the deliveryed messages, and must be
redelivered from the xmlblaster server.
I had read the source file(CbDeliveryConnection.java),and the return value is
ignored.
I want to add some redelivery controls in doSend method of
CbDeliveryConnection.java just like this:
if (-1==address.getRetries())
{
int iRetriesCounter = 0;
while (true)
{
rawReturnVal = cbDriver.sendUpdate(msgUnitRawArr);
if
(rawReturnVal[0].equals(org.inforMessaging.util.enum.Constants.RET_OK)) break;
iRetriesCounter ++;
rawReturnVal = null;
try { Thread.currentThread().sleep(address.getPingInterval());
} catch (Exception e) { }
}
}
else
{
for (int i=0; i<address.getRetries(); i++)
{
rawReturnVal = cbDriver.sendUpdate(msgUnitRawArr);
if
(rawReturnVal[0].equals(org.inforMessaging.util.enum.Constants.RET_OK)) break;
rawReturnVal = null;
try { Thread.currentThread().sleep(address.getPingInterval());
} catch (Exception e) { }
}
}
Is any problem in my changes to the whole xmlblaster project? any unknowable
effect to other programs?
Any help is appreciated.
Thanks!
pikaiyuan
[EMAIL PROTECTED]
2003-08-24