• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Method call timeout and return value

 
Paulo Carvalho
Ranch Hand
Posts: 57
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello

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?

Thanks

Regards
 
Christophe Verré
Sheriff
Posts: 14691
16
Eclipse IDE Ubuntu VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.

 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic