Java Kumara
Java Kumara

Reputation: 97

Is it in anyway possible to stop a REST call?

From Javascript, I am calling a REST method which is computationally intensive. Would it be possible to stop that REST call, if you are no longer interested in what it returns.

I understand, it is possible to abort a request in JS. But it won't stop the thread which gets triggered due to the REST call. This is how I am aborting the ajax call in JS. Abort Ajax requests using jQuery

The REST interface is written in Java. And internally this thread may create multiple threads also.

I would like to stop a Java thread. But from the caller. From JS, where I have triggered it. How to properly stop the Thread in Java?

Upvotes: 0

Views: 4289

Answers (2)

user479288
user479288

Reputation:

You could send a unique identifier along with your request, and then make another request that instructs the server to abort the operation started for that ID.

Upvotes: 1

Nir Alfasi
Nir Alfasi

Reputation: 53565

As Chris mentioned in the comments above, REST calls should be quick, definitely not an hour long. If the server needs to do a lot of work which takes considerably amount of time, you should modify your design to async. Either provide a callback that the server will use once it's done (also called push approach), or pull every few minutes, by sending a new request to the server to see if it's done.

In order to implement it you'll need the server to return a unique-id for each request in order to be able to identify in the callback/check-call what's the status of that specific request.

The unique-id should be implemented on the server-side in order to avoid two clients send the same ID - overriding each other.

In the link that I posted above you can see an example of how to implement a "stop thread" mechanism which can be implemented on the server-side and called by the client whenever is needed.

Upvotes: 1

Related Questions