2010-01-04 5 views
7

J'ai besoin de mettre en œuvre un service Web Java REST (nous utilisons le framework Jersey) qui peut fondamentalement soitService Web Java Async REST utilisant Jersey?

a. bloquer en attente d'un événement (ou d'un sondage pour l'événement), avant de renvoyer la réponse b. fournir une sorte de comportement aysnc pour notifier le client lorsque la demande a été traitée.

Je pensais retourner un ID de transation, et avoir un point de terminaison/status que le client devrait interroger pour déterminer si la requête a été traitée et obtenir un résultat spécifique.

Des idées?

Répondre

4

Alan, la bonne chose à faire est d'utiliser 202 code de retour accepté de HTTP et inclure dans le corps de la réponse un lien qui pointe vers une page le client peut interroger pour vérifier le statut de la demande. Dans un contexte machine2machine, vous devrez concevoir votre type de support (ou microformat, etc.) pour ces réponses afin qu'un client machine puisse les 'comprendre'.

Voir http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.3

Peut-être aussi regarder l'en-tête HTTP Link nouveau standard presque à cette fin.

http://tools.ietf.org/html/draft-nottingham-http-link-header-03

Jan

Questions connexes