2010-01-04 5 views
7

Ho bisogno di implementare un servizio Web Java REST (utilizziamo il framework di Jersey) che può fondamentalmente oServizio Web REST asincrono Java che utilizza Jersey?

a. blocco in attesa di qualche evento (o sondaggio per l'evento), prima di restituire la risposta b. fornire una sorta di comportamento aysnc per notificare al client quando la richiesta è stata elaborata.

Stavo pensando di restituire un ID di transizione e un endpoint/status che il client deve interrogare per determinare se la richiesta è stata elaborata e ottenere un risultato specifico.

Qualche idea?

risposta

4

Alan, la cosa giusta da fare è usare di HTTP 202 codice di ritorno accettato e includere nel corpo della risposta un link che punta ad una pagina il cliente può sondaggio per verificare lo stato della richiesta.

In un contesto macchina2 macchina è necessario progettare il tipo di supporto (o microformato, ecc.) Per tali risposte in modo che un client macchina possa "comprenderlo".

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

Forse un'occhiata anche alla nuova intestazione HTTP link quasi standardizzato per tale scopo.

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

gen