Pregunta

Tengo una pequeña aplicación web JSF en WAST 7.0 con solo una página pero una base de usuarios bastante grande.

¿Puedo declarar todos los (1) frijoles como alcance de solicitud y también usar javax.faces.state_saving_method Client sin encontrar problemas de memoria en el servidor utilizando una sesión que no expira?

¿Cómo funcionaría eso para aplicaciones más grandes?

Razón: estoy tratando de solucionar un problema en WAST 7.0 rápidamente, mientras que IBM trata con mi PMR.

EDITAR: En este punto, no tengo los recursos para tratar de medirlo yo mismo y dejaría la aplicación como es (con la esperanza de no molestar a demasiados usuarios).

¿Fue útil?

Solución

No necesariamente necesitas cambiar el alcance del frijol. Simplemente mantenga los frijoles en el alcance al que pertenecen. Solo si está abusando de los frijoles alcanzados de la sesión para mantener la solicitud o ver los datos alcanzados, entonces la historia de hecho cambia. Solicitar o ver datos alcanzados pertenece a solicitud o ver frijoles alcanzados, no frijoles alcanzados de sesión. Los frijoles alcanzados de la sesión solo deben usarse para mantener datos de toda la sesión, como el usuario iniciado, sus preferencias de todo el sitio, el idioma elegido, etc.

Cambiar el método de ahorro de estado de servidor a cliente definitivamente solucionará el ViewExpiredException en vistas cuya sesión de respaldo ha sido expirada. Disminuirá el uso de la memoria del servidor, pero aumentará el uso del ancho de banda de red del servidor. Pero si ya está usando GZIP (o ya no lo estaba; así que enciéndelo también), entonces el impacto es bastante menor.

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