Domanda

Voglio creare un oggetto Sinlgetom il cui scopo è fondamentalmente solo la richiesta. Questo sarà utilizzato per raccogliere gli errori e dobbiamo inviare errori quando mai inviamo risposta .. Posso Amyone fornire puntatori verso questa cosa? Sto anche usando la primavera.

Ho provato a utilizzare la sessione o la richiesta dell'ambito dell'oggetto di Singleton Container Spring Contenitore, ma l'oggetto Still MU sta tenendo i valori dalla richiesta precedente

Sto usando questo oggetto di errore con Aspectj..is che potrebbe causare problemi sul legame statico

È stato utile?

Soluzione

Non sono sicuro che Singleton sia ciò che vuoi qui - se sono arrivate due richieste in concomitanza, condividerebbero l'oggetto Singleton, e i loro errori saranno mescolati.

È possibile creare un oggetto per contenere gli errori e metterlo in un oggetto filo file.La portata dell'oggetto sarà limitata dalla richiesta e l'accesso ad esso nell'oggetto threadlocale è facilmente raggiunto dalla tua applicazione senza dover passare un refernce all'oggetto intorno.

Altri suggerimenti

Che ne dici di

//sync this code
if(request.getAttribute("someKey") == null){
     // create object and set it
}
.

Se si imposta il ciclo di vita dell'oggetto nel contenitore della molla per essere per richiesta, dovrebbe esistere solo per quel httprequest.

Generalmente per contenitori di iniezione diretta come la molla quando si imposta il ciclo di vita dell'oggetto o l'ambito dell'oggetto per essere per richiesta, dovrebbe creare una nuova istanza dell'oggetto per ciascuna richiesta HTTP che riceve.

Se non sta facendo questo, presumerei che sia più che probabile qualcosa da fare con la configurazione.

Singleton è il defualt per il contenitore di primavera quando si crea i fagioli penso che devi impostare specificamente lo scopo dell'oggetto per richiesta.

Scope di fagioli http://static.springsurce.org/spring/docs/2.5.x / riferimento / beans.html

Puoi usare threadlocal .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top