Pregunta

Quiero crear un objeto SINLGETOM cuyo alcance es básicamente solo la solicitud. Esto se utilizará para recopilar los errores y debemos enviar errores cuando envíemos una respuesta. ¿Puedo amyone proporcionar punteros hacia esta cosa? También estoy usando primavera.

Intenté usar el contenedor de primavera Singleton Object Session Session o Solicitud, pero aún el objeto MU está sosteniendo valores de la solicitud anterior

Estoy usando este objeto de error con Aspectj ... es que puede causar problemas en la unión estática

¿Fue útil?

Solución

No estoy seguro de que Singleton sea lo que desea aquí, si dos solicitudes llegaron al mismo tiempo compartirían el objeto Singleton, y sus errores se mezclarán.

Es posible crear un objeto para mantener los errores y colocarlo en un objeto de rosca.El alcance del objeto se limitará a la solicitud, y el acceso a él en el objeto de rosca se logra fácilmente desde su aplicación sin tener que pasar un referenco al objeto alrededor.

Otros consejos

¿Qué tal

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

Si establece el ciclo de vida del objeto en el recipiente de primavera por solicitud, solo debe existir para ese HTTPRequest.

Generalmente para contenedores de inyección directa como la primavera cuando establece el ciclo de vida del objeto o el alcance del objeto para ser por solicitud, debe crear una nueva instancia del objeto para cada solicitud HTTP que recibe.

Si no está haciendo esto, asumo que es más que probable que haga algo con su configuración.

Singleton es el defensor para el recipiente de primavera al crear frijoles, creo que tiene que establecer específicamente el alcance del objeto en solicitud.

alcances de frijol http://static.springsource.org/spring/docs/2.5.x / referencia / beans.html

Puede usar threadlocal .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top