Nella pagina Edit Connection Pool Advanced Attributes è possibile specificare attributi che consentono di diagnosticare le perdite di connessione e semplificare l'utilizzo.
La pagina Edit Connection Pool Advanced Attributes contiene le seguenti opzioni.
Pulsante che consente di ripristinare i valori predefiniti delle impostazioni che dispongono di tali valori. Le impostazioni prive di valori predefiniti restano invariate.
Nome del pool di connessione. Il campo relativo al nome è di sola lettura. È possibile specificare il nome del pool di connessione soltanto quando si crea un nuovo pool di connessione JDBC.
Periodo di tempo in secondi trascorso il quale le query di lunghezza eccessiva verranno terminate. GlassFish Server imposterà QueryTimeout per le istruzioni create. Il valore -1 indica che l'opzione è disabilitata. Il valore predefinito è -1.
Numero di istruzioni da memorizzare nella cache mediante il meccanismo LRU (Least Recently Used). Il valore 0 disabilita la memorizzazione delle istruzioni nella cache. Il valore predefinito è 0.
Stringa SQL da eseguire ogni volta che si crea (e non ogni volta che si riutilizza) una connessione nel pool. L'esecuzione della stringa inizializza lo stato della connessione.
Elenco separato da virgole di nomi di classi di implementazione del listener. Specifica il rilevamento delle istruzioni SQL eseguite dalle applicazioni. Le classi listener devono implementare l'interfaccia org.glassfish.api.jdbc.SQLTraceListener . L'utilizzo di listener semplifica il filtraggio dei messaggi del log per il rilevamento delle istruzioni SQL e consente agli amministratori di analizzare le istruzioni.
Se questa opzione è abilitata, le applicazioni ottengono oggetti JDBC avanzati per Statement, PreparedStatement, CallableStatement, ResultSet e DatabaseMetaData . Questa opzione è abilitata per impostazione predefinita.
Consente il raggruppamento delle connessioni per il pool. Questa opzione è abilitata per impostazione predefinita.
Specifica l'intervallo di tempo espresso in secondi tra richieste successive di convalida di una connessione (al massimo una volta). Impostando un valore appropriato per questo attributo si riduce al minimo il numero di richieste di convalida di una connessione. Il valore predefinito è 0 e implica che l'attributo non sia abilitato.
Numero di secondi necessari per rilevare le perdite di connessione in un pool di connessione. Utilizzare il campo per rilevare potenziali perdite di connessione dell'applicazione. Si presume che una connessione non restituita al pool dall'applicazione entro il tempo previsto rappresenti una perdita, pertanto viene registrata una traccia dello stack del chiamante. Un valore pari a 0 indica che il rilevamento delle perdite di connessione è disabilitato. Il valore predefinito è 0.
Utilizzare il campo insieme a Leak Reclaim per rilevare potenziali perdite di connessione in un pool di connessione.
Se l'opzione è abilitata, le connessioni perse vengono ristabilite nel pool al termine del rilevamento delle perdite di connessione. Questa opzione è disabilitata per impostazione predefinita.
Numero di tentativi da effettuare in caso di errore durante la creazione di una nuova connessione. Un valore pari a 0 indica che non verrà effettuato alcun tentativo di ricreare la connessione. Il valore predefinito è 0.
Intervallo espresso in secondi tra un tentativo di creare una connessione e l'altro. Il valore predefinito è 10. Questo attributo viene utilizzato solo se il valore di Creation Retry Attempts è maggiore di 0.
Se questa opzione è abilitata, una connessione fisica viene associata a una connessione logica soltanto quando viene utilizzata. Le connessioni vengono disassociate quando la transazione è completa e termina un metodo del componente. In tal modo il riutilizzo delle connessioni fisiche risulta più agevole. Questa opzione è disabilitata per impostazione predefinita.
Se l'opzione è abilitata, una risorsa viene integrata nella transazione solo quando è effettivamente utilizzata in un metodo. Questa opzione è disabilitata per impostazione predefinita.
Se l'opzione è abilitata, una connessione viene associata a un thread. Quando tale thread richiede una connessione, può riutilizzare la connessione già associata allo stesso, senza provocare l'overhead per ottenere una connessione dal pool. Questa opzione è disabilitata per impostazione predefinita.
Se l'opzione è abilitata, la connessione selezionata dal pool dovrà corrispondere a connessioni provviste di determinate credenziali. L'opzione deve essere abilitata se il pool di connessione viene utilizzato da applicazioni provviste di più credenziali utente. Questa opzione può essere disabilitata se l'amministratore è certo che le connessioni del pool saranno sempre omogenee e che una connessione ottenuta dal pool non dovrà corrispondere all'adattatore di risorsa. Questa opzione è disabilitata per impostazione predefinita.
Numero massimo di volte in cui una connessione può essere riutilizzata dal pool. Una volta che una connessione viene riutilizzata per il numero di volte specificato, viene chiusa. Limitando il numero di riutilizzi di una connessione, è possibile evitare perdite di istruzioni nel caso in cui un'applicazione non chiuda le istruzioni. Un valore pari a 0 indica che l'attributo è disabilitato. Il valore predefinito è 0.
Se questa opzione è abilitata, è necessario eseguire la convalida della connessione, che consente la riconnessione del server in caso di interruzione.
GlassFish Server può convalidare le connessioni database nei seguenti modi.
GlassFish Server convalida una connessione chiamando il metodo con.getAutoCommit o con.getMetaData.
Nota - Molti driver JDBC memorizzano i risultati di tali chiamate nella cache. Di conseguenza, è possibile che l'utilizzo delle chiamate non fornisca convalide affidabili. Verificare con il produttore del driver se le chiamate vengono salvate o meno nella memoria cache.
GlassFish Server utilizza un meccanismo di convalida definito dall'utente, specificato dalla classe di implementazione personalizzata nel campo Validation Classname.
L'applicazione effettua ricerche nella tabella database specificata. La tabella deve esistere ed essere accessibile, ma non richiede righe. Evitare di utilizzare una tabella esistente con un numero elevato di righe o una tabella a cui si accede di frequente.
Nome della tabella database per la convalida. Il campo è valido soltanto se Validation Method è impostato su table.
Nome della classe di implementazione della convalida personalizzata. Il campo è valido soltanto se Validation Method è impostato su custom-validation. Il nome classe fornito deve risultare accessibile per GlassFish Server. La classe specificata deve implementare l'interfaccia org.glassfish.api.jdbc.ConnectionValidation .
Se l'opzione è abilitata, GlassFish Server chiude tutte le connessioni del pool e le ristabilisce quando una connessione restituisce un errore. Se l'opzione è disabilitata, le singole connessioni vengono ristabilite soltanto quando vengono utilizzate. Questa opzione è disabilitata per impostazione predefinita.
Se l'opzione è abilitata, il pool può essere utilizzato da chiamanti diversi dai componenti, quali filtri servlet e persistence manager di altri produttori. Le connessioni ottenute da chiamanti diversi dai componenti non vengono chiuse automaticamente dal contenitore al termine di una transazione. Devono essere chiuse esplicitamente dal chiamante. Questa opzione è disabilitata per impostazione predefinita.
Modificare le impostazioni generali del pool di connessione JDBC
Modificare gli attributi avanzati del pool di connessione JDBC