¿Por qué la primavera tiene clase JDBCDAOSUPPORT, pero no hay una clase analítica JMSSPPORT?

StackOverflow https://stackoverflow.com/questions/5329630

Pregunta

¿Por qué hace el Marco de primavera tengo clase JdbcDaoSupport que requiere un DataSource y crea un JdbcTemplate internamente, pero no tiene una clase anática JmsSupport que podría requerir un JMS ConnectionFactory y crear un JmsTemplate?

Como entiendo, el propósito de la clase JdbcDaoSupport es eliminar instancias redundantes de JdbcTemplate (uno por DataSource instancia) en un contexto de aplicación. En cambio, el contenedor crea instancias de una aplicación DAO, cada una de las cuales deriva de JdbcDaoSupport, acepta un único DataSource y proporciona esto DataSource hacia JdbcDaoSupport instancia principal que a su vez lo proporciona a su interno JmsTemplate.

¿Por qué la primavera no proporciona una clase análoga? JmsSupport que serviría para reducir el número de JmsTemplate instancias en un contexto de aplicación?

¿Fue útil?

Solución

JdbcDaoSupport es poco más que un usuario de un JdbcTemplate que también se extiende DaoSupport. Proporciona una implementación base del patrón de diseño DAO para JDBC, como lo hacen otras clases para Hibernate, JPA y otros.

Mucha gente no usa el paradigma DAO; en cambio, definen un singleton JdbcTemplate que inyectan directamente en su capa de servicio.

Para JMS, hay, hasta donde yo sé, ningún patrón de diseño genérico como el DAO, y no hay otras posibles variaciones en "un usuario de JmsTemplate". Deberías usar un singleton JmsTemplate: No hay nada más.

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