2012-04-06 18 views
5

Sto creando una risorsa del pool di connessione JDBC per GlassFish, utilizzando l'Admin Console del server.Creazione dell'origine dati in Glassfish

Uno dei campi nella pagina per creare il pool è etichettato come "Tipo di risorsa". Questo campo ha quattro possibili valori: javax.sql.DataSource, javax.sql.XADataSource, javax.sql.ConnectionPoolDataSource e javax.sql.Driver, ma il testo della guida per il "pool" di creazione del pool di connessioni JDBC non ha molte informazioni su i vantaggi e gli svantaggi di queste scelte.

Quando viene richiesto di selezionare un tipo di risorsa che dovrei scegliere?

Ho intenzione di connettersi a un server MySQL locale. Sarebbe bello avere una spiegazione delle differenze tra le scelte nel menu a discesa.

enter image description here

+0

Il contenuto della pagina della Guida associata alla pagina Nuovo pool di connessioni JDBC della GF Admin Console può aiutare: http: // localhost: 4848/common/help/help.jsf ? contextRef =/resource/jdbc/it/help/ref-jdbcconnectionpoolnew1.html – vkraemer

+0

Questo non fornisce molto aiuto. Elenca solo le opzioni. – LuckyLuke

risposta

6

Qui di seguito sono gli scenari in cui si avrebbe bisogno ogni tipo di risorsa elencati. Spero che questo ti aiuti.

DataSource DataSource Un oggetto DataSource è una factory per oggetti Connection. Quando si utilizza DataSource semplice, appserver utilizza il proprio pooling anziché nativo.

ConnectionPoolDataSource Un ConnectionPoolDataSource oggetto è una fabbrica per gli oggetti PooledConnection. ConnectionPoolDataSource viene utilizzato per fornire l'accesso a PooledConnection che implementa il pool nativo dal driver JDBC. In questo caso il server delle applicazioni può implementare il pool di connessioni utilizzando questa interfaccia nativa. Si prega di fare riferimento al Java API sapere che cos'è un PooledConnection è ... Un ConnectionPoolDataSource può utilizzare un'implementazione di terze parti per messa in comune - per quanto ne so per Tomcat, per esempio, il collegamento DBCP pool viene utilizzato.

XADataSource È necessario un XADataSource se si desidera eseguire una transazione distribuita. Si consiglia di utilizzare XADataSource invece di DataSource se l'applicazione

  • Utilizza il Transaction API Java (JTA)
  • include aggiornamenti del database multipli all'interno di una singola transazione
  • accede a più risorse, come ad esempio una banca dati e di messaggistica Java Servizio (JMS), durante una transazione
+0

Che ne dici di quello predefinito di java.sql.Driver? Downvoted per questo. –