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


Reply via email to