I'm surprised you haven't gotten an answer from some of the smarter folks here, so I'll give a try. Look into starting a new
thread for your retry logic. It can wait the ten minutes, then wake up and try the operation again. Consider the Command
Pattern for putting all the logic that you want to try and retry into a Command class. Consider the Active Object pattern to handle a queue of Commands. I haven't been able to find a clear example of Active Object this morning, but the one I'm thinking of looped through a set of queued commands each of which had a "execute me at this time" variable. If the time had come, it removed and executed the command, else it left the command there to re-inspect the next time through.
Any time you spawn an operation on a new thread, you may have to figure out how to get the results back to the original requester. Consider Listener or Publish Subscribe for that. I have a page on
Messaging that gets into some of the asynchronous issues.
[ August 26, 2003: Message edited by: Stan James ]