Perché Primavera ha classe JdbcDaoSupport, ma nessuna classe analoga Jms supporto?
-
26-10-2019 - |
Domanda
Perché il Spring Framework hanno classe JdbcDaoSupport
che richiede un DataSource
e crea un JdbcTemplate
internamente, ma non ha nessuna classe analoga JmsSupport
che potrebbe richiedere un JMS ConnectionFactory
e creare un JmsTemplate
?
Per quanto ho capito, lo scopo della classe di JdbcDaoSupport
è quello di eliminare le istanze ridondanti dei JdbcTemplate
(uno per esempio DataSource
) in un contesto di applicazione. Al contrario, il contenitore crea istanze di DAO applicazione, ognuno dei quali deriva da JdbcDaoSupport
, accetta un DataSource
unico e fornisce questo DataSource
all'istanza padre JdbcDaoSupport
che a sua volta fornisce al suo interno JmsTemplate
.
Perché non molla fornisce un JmsSupport
classe analoga che servirebbe a ridurre il numero di istanze JmsTemplate
in un contesto applicativo?
Soluzione
JdbcDaoSupport
è poco più di un utente di un JdbcTemplate
che si estende anche DaoSupport
. Esso fornisce un'implementazione di base del modello di progettazione DAO per JDBC, come altre classi fanno per Hibernate, JPA, e altri.
Un sacco di persone non usano il paradigma DAO; invece, definiscono una JdbcTemplate
singoletto che iniettano direttamente nel loro livello di servizio.
Per JMS, non v'è - per quanto ne so - non design pattern generico come il DAO, e non ci sono altre variazioni possibili sul tema "un utente di JmsTemplate
". È necessario utilizzare un JmsTemplate
Singleton:. Non c'è niente di più ad esso