Según el código de limpieza de Robert C. Martin los métodos deben tener una firma pequeña. El mejor caso sería un método sin parámetros en absoluto. En su lugar, se recomienda utilizar variables de estado. Esto es realmente útil. Pero, ¿qué pasa con los beans de sesión sin estado?Código de limpieza, beans de sesión sin estado y estado privado
El nombre es algo confuso porque SLSB puede tener estado. Solo tiene que hacer su mantenimiento para que no use el estado de la llamada EJB anterior.
Volviendo al código de limpieza: me encantaría usar variables de instancia en SLSB también. Esto funciona bien y, si eres lo suficientemente cuidadoso, no tienes problemas con las inconsistencias de estado ya que el estado se sobrescribe en cada llamada a método público.
Hasta ahora todo bien. Pero, ¿qué sucede si un frijol usado vuelve a la piscina? Toma su estado con eso. Dependiendo del tamaño del estado, esto podría ser una pérdida de memoria real. JBoss es muy generoso con los frijoles y genera bastantes de ellos que causan un consumo de memoria importante, en vano.
De modo que una forma sería limpiar el estado antes de que exista el método de bean y el bean se devuelva al grupo. Pero esto me parece un código inútil que debería evitarse.
¿Hay una forma adecuada de solucionar este problema? ¿Cuál es la mejor práctica en esta situación?
Cualquier estado mantenido por algún método de bricolaje fallará ante la agrupación, por lo que no es bienvenido para JEE. Y mantener una copia de ese estado para cada frijol también me parece incorrecto. –