Pourquoi Spring ont la classe JdbcDaoSupport, mais pas de classe JmsSupport analogue?
-
26-10-2019 - |
Question
Pourquoi le Spring Framework ont la classe JdbcDaoSupport
qui nécessite un DataSource
et crée un JdbcTemplate
en interne, mais n'a pas de classe analogue JmsSupport
qui pourrait nécessiter un JMS ConnectionFactory
et créer un JmsTemplate
?
Si je comprends bien, le but de JdbcDaoSupport
de classe est d'éliminer les cas redondants de JdbcTemplate
(par exemple d'un de DataSource
) dans un contexte d'application. Au lieu de cela, le conteneur crée des instances d'un DAO d'application, qui découle de chacun des JdbcDaoSupport
, accepte un DataSource
unique et fournit ce DataSource
à l'instance parent JdbcDaoSupport
qui, à son tour, il fournit à son JmsTemplate
interne.
Pourquoi ne pas fournir un printemps JmsSupport
de classe analogue qui servirait à réduire le nombre d'instances de JmsTemplate
dans un contexte d'application?
La solution
JdbcDaoSupport
is little more than a user of a JdbcTemplate
that also extends DaoSupport
. It provides a base implementation of the DAO design pattern for JDBC, like other classes do for Hibernate, JPA, and others.
A lot of people don't use the DAO paradigm; instead, they define a singleton JdbcTemplate
that they inject directly into their service layer.
For JMS, there is - as far as I know - no generic design pattern like the DAO, and there's no other possible variations on "a user of JmsTemplate
". You should use a singleton JmsTemplate
: there's nothing more to it.