Según la documentación de Spring, cuando un bean se define como "prototipo", el resorte no administra el ciclo de vida completo de sus objetos. Más específicamente, las devoluciones de ciclo de vida de destrucción no son llamadas. El código del cliente debe hacer las limpiezas requeridas. La documentación de primavera también sugiere utilizar un postprocesador de frijol personalizado para este propósito. Pero la interfaz "BeanPostProcessor" solo incluye métodos de devolución de llamada para antes y después de la inicialización de los beans. No hay un método para la devolución de llamada de desctrucción. Entonces, ¿dónde y cómo liberar los recursos obtenidos por medio de un prototipo de frijoles?Spring: ¿Cómo terminar de forma limpia los granos con un diseño de prototipo?
10
A
Respuesta
4
Lo que está buscando es DestructionAwareBeanPostProcessor, es una interfaz secundaria de BeanPostProcessor.
Puede crear una nueva implementación de esa interfaz usted mismo, o utilizar una de sus clases de implementación, como CommonAnnotationBeanProcessor.
1
La única manera limpia de terminar el bean con prototipo es llamar explícitamente algunos de sus métodos "destroy" para disponer de los recursos. También puede usar Phantom References. Here es más información sobre diferentes tipos de referencias.
Cuestiones relacionadas
- 1. Spring - ¿Cómo puedo destruir los granos de mi prototipo?
- 2. Crear prototipo de Spring Bean con anotaciones?
- 3. ¿Cuál es la forma más limpia de conectar automáticamente Spring Beans en un JSP?
- 4. granos Inicializar Spring envasados dentro de un archivo jar
- 5. ¿Diseño o prototipo primero?
- 6. ¿Para qué se utiliza el prototipo Spring Bean?
- 7. primavera no puede ver los granos de entre servlet-contexto y contextConfigLocation granos
- 8. dinámicamente cambiar los granos de primavera
- 9. ¿Puedo crear un prototipo de bean con ámbito con Spring Javaconfig?
- 10. Cómo terminar con un puntero a 0xCCCCCCCC
- 11. Nombramiento estándar para los granos de primavera
- 12. forma más limpia de combinar dos cortos a un int
- 13. Una forma limpia de convertir objetos a un tipo real
- 14. Acceso a los granos de muelles de un servlet en JBoss
- 15. Registro de beans (prototipo) en tiempo de ejecución en Spring
- 16. diseño de prototipo java creación de objeto de patrón
- 17. ¿El patrón de diseño del prototipo es realmente justo?
- 18. ¿Hay una forma HTML limpia de relacionar una pulsación de tecla con un elemento desplegable
- 19. Acceso a los granos de primavera en el método estático
- 20. primavera inyección de dependencias en los granos de serializables
- 21. ¿Cuál es la forma limpia de probar FileField en django?
- 22. ¿Paperclip limpia automáticamente los nombres de archivo?
- 23. ¿Hay una forma limpia de mover/a/tronco?
- 24. ¿mejor forma para formas dinámicas con Spring?
- 25. Activar un evento con el Prototipo
- 26. cómo comparar genéricamente granos enteros de Java?
- 27. cómo sobrescribir los granos de servicios de Primavera por su nombre, utilizando anotaciones única
- 28. ¿Agregar contenido a un diseño lineal de forma dinámica?
- 29. nombres de los parámetros del prototipo
- 30. ¿Dónde asigna CUDA el marco de pila para los granos?
@Raihan No estoy seguro de si esto es correcto. El documento dice que se aplica solo a Singletons, lo cual tiene sentido; porque, ¿cómo sabría Spring cuándo un prototipo de frijol queda fuera del alcance? Para obtener detalles de esta interfaz y su método específico, consulte: http://static.springsource.org/spring/docs/3.0.x/javadoc-api/ – shrini1000