Sto provando ad aggiungere intestazioni Cache-Control alle risposte generate in JBoss 7 usando il framework RESTEasy. Tuttavia, tutte le risposte finiscono per ottenere più intestazioni di Cache-Control a causa di JBoss che aggiunge un'intestazione no-cache per impostazione predefinita.JBoss7 impostazione Cache-Control, Pragma a no-cache per tutte le risposte da RESTEasy
Non riesco a trovare alcuna impostazione per rimuoverlo e l'aggiunta di intercettatori non funziona anche perché un'intestazione di no-cache viene aggiunta in seguito.
Qualcuno può dirmi come disabilitare il pragma predefinito e le intestazioni di controllo della cache in JBoss 7?
Nota: sto usando il restible con gli EJB stateless.
@Path("/api")
@Local
public interface UCSRestServiceInterface
{
@GET
@Path("/token")
@Produces("application/json")
@Cache(maxAge = 3600, noTransform = true)
public Response getToken();
}
Ottenere le intestazioni di risposta come,
{
"pragma": "No-cache",
"date": "Thu, 11 Feb 2016 20:16:30 GMT",
"content-encoding": "gzip",
"server": "Apache-Coyote/1.1",
"x-frame-options": "SAMEORIGIN",
"vary": "Accept-Encoding,User-Agent",
"content-type": "application/json",
"cache-control": "no-cache, no-transform, max-age=3600",
"transfer-encoding": "chunked",
"connection": "Keep-Alive",
"keep-alive": "timeout=15, max=100",
"expires": "Wed, 31 Dec 1969 19:00:00 EST"
}
Scrivere un filtro. Rispondi alla risposta; e manipola le intestazioni che vuoi. – Abhin
@Light Puoi dettagliarlo un po ', renderlo una risposta e segnare una taglia =) –
Ho lo stesso problema con wildfly 10 (e sembra anche essere così in wildfly 8) dove c'è sempre anche il seguente regalo nell'intestazione della risposta: "Cache-Control: no-cache, no-store, must-revalidate". L'aggiunta dell'annotazione @Cache aggiunge solo un secondo campo di intestazione. Questo non può essere un comportamento corretto! Hai trovato una soluzione a questo problema? –