Qualcuno può aiutare a spiegare perché JNDI dovrebbe essere un modo preferito per esporre servizi come un database/jms?Perché utilizzare JNDI per le origini dati
I post di cui parlo parlano del vantaggio di non dover caricare un gestore di driver specifico, che si avvale del pooling di connessioni ecc. Ma che è facilmente raggiungibile specificando il gestore di driver in un file di proprietà e utilizzando il reflection.
Il pool di connessioni può anche essere ottenuto collegando l'implementazione corretta in un bean di applicazione tramite molla o altro.
Quindi, perché utilizzare JNDI potrebbe essere migliore?
Quindi, come è diverso dall'avere un file di proprietà in ciascuno di questi ambienti? Dopo tutto, un amministratore sta gestendo le connessioni del database su ciascun server. – Kailash
I file di proprietà sono solitamente contenuti in WAR, quindi non è possibile cambiarli. Dovresti distinguere tra i file per ambiente e passare una variabile per identificare dove ti trovi. Se sei davvero venduto a farlo a modo tuo, assolutamente farlo. Non sto cercando di vendere nulla; non sembra che tu voglia davvero riconoscere alcuna differenza. Ad alcune persone piace solo far convalidare le proprie idee; forse tu sei uno di quelli. – duffymo
Voglio solo capire veramente la differenza, tutto qui :) Se ho capito bene, usando JNDI si lascia che il contenitore gestisca tali proprietà, quindi non è necessario gestirle nel proprio file. Vedo anche alcuni post che parlano dell'impostazione delle configurazioni jndi tramite un file di proprietà - http://activemq.apache.org/jndi-support.html - quindi questo è in qualche modo una sconfitta? – Kailash