2013-03-28 25 views
13

ho bisogno di sapere la mia comprensione su cui sopra sono corrette,Differenza di pool di connessioni, JDBC e JNDI

Nel pool di connessione è possibile impostare la connessione multipla con l'uso di java.sql.Datasource.

In jdbc si specifica direttamente la connessione url e oracle.jdbc.driver.OracleDriver e la sua sempre una connessione in cui un'altra richiesta deve attendere fino al termine dell'elaborazione della connessione.

E con JNDI è simile al jdbc diretto in cui si fa riferimento all'impostazione jdbc tramite un nome, in modo da poter specificare l'url di connessione e altre impostazioni nel server delle applicazioni e non vincolato all'applicazione giusta?

risposta

17

bene questo sono due cose diverse.

JDBC è java database API, mentre JNDI è java naming e interfaccia Interface API.

La cosa principale qui è che in una directory JNDI si sta effettivamente memorizzando un DataSource JDBC, quindi si sta semplicemente utilizzando JDBC e si ottiene una connessione tramite la ricerca JNDI.

In poche parole: JDBC è un dominio Database, JNDI consente di memorizzare oggetti in un contesto virtuale (la directory) che può essere locale, remoto (i dettagli di implementazione di solito non contano).

Si accede a questo contesto tramite nomi, ottenendo oggetti memorizzati, è bene condividere le cose tra diversi moduli.

I server delle applicazioni di solito dispongono di un contesto JNDI per la condivisione di oggetti globali tra diverse applicazioni, i pooler di connessione sono uno degli esempi più chiari del perché la condivisione tramite JNDI sia buona. (Definire 1 pool di connessione, condividere tra diverse applicazioni web)

3

So che tutti gli acronimi sono scoraggianti prima volta che si è appreso Java, ma si abitua ad esso, spendere un sacco di tempo a leggere .. soprattutto ufficiale risorse da Java/Oracle

Problemi correlati