I like the timeout mechanism Hanson described. However, I personally recommend providing additional timeout polling mechanisms which do not indicate a timeout condition by exception. This is a sore spot with me and the Java 5 concurrency library (specifically the Future interface - working up a post for the concurrency list).
-karl
