Meaningless Drivel is fun!
The moose likes Java in General and the fly likes Method call timeout and return value Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark "Method call timeout and return value" Watch "Method call timeout and return value" New topic

Method call timeout and return value

Paulo Carvalho
Ranch Hand

Joined: Nov 12, 2008
Posts: 57

I am trying to implement some kind of timeout in my java application.
I have a method which cannot be modified, because it is on an external JAR and which returns a value.
I want to call this method and, after X seconds without response from the method call, throw a TimeOutException. If the X seconds are not reached, than I want to be able of access the response of the method call.

Simple algorithm code explaining the general goal:

How can I do that?


Christophe Verré

Joined: Nov 24, 2005
Posts: 14688

You could make use of the ExecutorService and its timeout facilities. The idea is to execute the method you want to call in a different thread, and let the ExecutorService cancel it after a specific time. Here is a simple example, using two fixed threads. You'd have to adapt this to your needs.

[My Blog]
All roads lead to JavaRanch
I agree. Here's the link:
subject: Method call timeout and return value
It's not a secret anymore!