2012-03-13 4 views
5

Anch'esso con crociato in Javaranch. Ho fatto la mia due diligence facendo ricerche su Google. Non ho trovato nessuna risposta.Grails - OSIV - Arresta il filtro "Apri sessione in vista" per Risorse statiche

Abbiamo un servizio Web basato su REST, per il quale il backend viene implementato utilizzando Groovy e Grails (1.3.7 con Groovy 1.7.x). Capisco come Open Session In View funzioni in generale per Hibernate, e quando configuriamo Hibernate con Spring, potremmo specificare per quale set di URL, OSIV dovrebbe funzionare nella configurazione del filtro.

Il problema è che non riesco a trovare come escludere un set di URL dall'ambito del filtro OSIV (come la corrispondenza di * .js, * .gif, ecc.). Ho trovato dal registro di Hibernate che, anche per la richiesta di file Javascript, apre Session In View e apre una sessione e la chiude.

Grazie in anticipo.

risposta

7

Grails ha due implementazioni del modello OSIV, GrailsOpenSessionInViewFilter e GrailsOpenSessionInViewInterceptor. Il filtro è stato utilizzato nelle versioni precedenti di Grails ma l'intercettore ora è quello che viene utilizzato (almeno in 1.2, 1.3 e 2.0). Poiché si tratta di un WebRequestInterceptor, si applica solo alle richieste del controller e non alle richieste statiche di JavaScript, CSS, immagini, ecc. Quindi non ci sono problemi di prestazioni per la creazione e l'associazione inutili di una sessione di sospensione per richieste di file semplici.

+0

Grazie per aver risposto! - Susanta – cspider

+0

Sentiti libero di accettarlo come risposta corretta :) –

Problemi correlati