Utilizzare la pagina Modifica attributi avanzati connection pool JDBC per specificare gli attributi che consentono di diagnosticare le perdite di connessione e semplificare l'utilizzo.
La pagina Modifica attributi avanzati connection pool JDBC contiene le opzioni riportate di seguito.
Pulsante per ripristinare i valori predefiniti delle impostazioni che dispongono di valori predefiniti. Le impostazioni che non dispongono di valori predefiniti non vengono modificate.
Il nome del connection pool. Il campo del nome è di sola lettura. È possibile specificare il nome del connection pool solo quando si crea un nuovo connection pool JDBC.
Il periodo di tempo, in secondi, trascorso il quale le query con esecuzione prolungata in modo anomalo vengono interrotte. GlassFish Server imposterà QueryTimeout
per le istruzioni create. Il valore -1 indica che l'opzione è disabilitata. Il valore predefinito è -1.
Il numero di istruzioni da inserire nella cache mediante il meccanismo LRU (Least Recently Used). Il valore 0 disabilita l'inserimento delle istruzioni nella cache. Il valore predefinito è 0.
La stringa SQL da eseguire ogni volta che si crea (e non ogni volta che si riutilizza) una connessione nel pool. L'esecuzione di questa stringa inizializza la condizione della connessione.
La lista di valori separati da virgole dei nomi delle classi di implementazione dei listener. Specifica che verrà eseguito il trace delle istruzioni SQL eseguite dalle applicazioni. Le classi di listener devono implementare l'interfaccia org.glassfish.api.jdbc.SQLTraceListener
. L'utilizzo di listener semplifica l'operazione di filtraggio dei messaggi del log per le istruzioni SQL e consente agli amministratori di analizzare le istruzioni.
Se questa opzione è abilitata, le applicazioni otterranno oggetti JDBC di cui è stato eseguito il wrapping per Statement, PreparedStatement, CallableStatement, ResultSet e DatabaseMetaData. Questa opzione è abilitata per impostazione predefinita.
Abilita il connection pooling per il pool. Questa opzione è abilitata per impostazione predefinita.
Specifica l'intervallo di tempo, in secondi, tra le richieste successive per convalidare 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, indica che l'attributo non è abilitato.
Il periodo di tempo, in secondi, necessario per eseguire il trace delle perdite di connessione in un connection pool. 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 uno stack trace del chiamante. Il valore 0 indica che il trace delle perdite di connessione è disabilitato. Il valore predefinito è 0.
Utilizzare questo campo insieme all'opzione Recupero perdite connessione per evitare potenziali perdite di connessione dall'applicazione.
Se questa opzione è abilitata, le connessioni perse vengono ripristinate nel pool al termine del trace delle perdite di connessione. Questa opzione è disabilitata per impostazione predefinita.
Il periodo di tempo, in secondi, necessario per eseguire il trace delle perdite di istruzioni in un connection pool. Utilizzare il campo per rilevare potenziali perdite di istruzioni dell'applicazione. Si presume che un'istruzione non restituita al pool dall'applicazione entro il tempo previsto rappresenti una perdita, pertanto viene registrata uno stack trace del chiamante. Il valore 0 indica che il trace delle perdite di istruzioni è disabilitato. Il valore predefinito è 0.
Utilizzare questo campo insieme all'opzione Recupero perdite istruzioni per evitare potenziali perdite di connessione dall'applicazione.
Se questa opzione è abilitata, le istruzioni perse vengono ripristinate nel pool al termine del trace delle perdite di connessione. Questa opzione è disabilitata per impostazione predefinita.
Il numero di tentativi che verranno eseguiti in caso di errore durante la creazione di una nuova connessione. Il valore 0 indica che non verranno effettuati tentativi per ricreare la connessione. Il valore predefinito è 0.
L'intervallo di tempo, in secondi, tra due tentativi di creazione di una connessione. Il valore predefinito è 10. Questo attributo viene utilizzato solo se il valore Numero di nuovi tentativi di creazione è maggiore di 0.
Se questa opzione è abilitata, una connessione fisica viene associata a una connessione logica solo quando 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 questa opzione è abilitata, una risorsa viene integrata nella transazione solo quando è effettivamente utilizzata in un metodo. Questa opzione è disabilitata per impostazione predefinita.
Se questa opzione è abilitata, la connessione viene associata a un thread in modo tale che, quando è necessaria una connessione, il thread possa riutilizzare la connessione già associata senza provocare il sovraccarico dovuto alla necessità di 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 connection pool viene utilizzato da applicazioni provviste di più credenziali utente. Può essere disabilitata in modo sicuro se l'amministratore sa che le connessioni del pool saranno sempre omogenee e che quindi non è necessario che una connessione selezionata dal pool debba essere abbinata dal Resource Adapter. Questa opzione è disabilitata per impostazione predefinita.
Il numero di volte in cui una connessione deve essere riutilizzata dal pool. Dopo essere stata riutilizzata per il numero di volte specificato, la connessione viene chiusa. Limitando il numero di volte in cui una connessione può essere riutilizzata, è possibile evitare perdite di istruzioni nel caso in cui un'applicazione non chiuda le istruzioni. Il valore 0 indica che questo attributo è disabilitato. Il valore predefinito è 0.
Se questa opzione è abilitata, è necessario eseguire la convalida della connessione, in modo da consentire al server di riconnettersi in caso di errore.
GlassFish Server è in grado di convalidare le connessioni al database nei modi riportati di seguito.
auto-commit
e metadata
GlassFish Server convalida una connessione richiamando il metodo con.getAutoCommit
o con.getMetaData
.
Nota:
Molti driver JDBC memorizzano i risultati di queste chiamate nella cache. Di conseguenza è possibile che l'utilizzo delle chiamate non fornisca sempre convalide affidabili. Verificare con il fornitore del driver se le chiamate vengono inserite o meno nella cache.custom-validation
GlassFish Server utilizza un meccanismo di convalida definito dall'utente, specificato dalla classe di implementazione personalizzata nel campo Nome classe di convalida.
table
L'applicazione esegue le query sulla tabella di database specificata. La tabella deve esistere ed essere accessibile, ma non richiede righe. Non utilizzare una tabella esistente con un numero elevato di righe o una tabella a cui si accede di frequente.
Il nome della tabella di database per la convalida. Questo campo è applicabile solo se il campo Metodo di convalida è impostato su table
. È possibile selezionare il nome dall'elenco a discesa oppure digitarlo.
Il nome della classe di implementazione della convalida personalizzata. Il campo è applicabile solo se il campo Metodo di convalida è 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
. È possibile selezionare il nome dall'elenco a discesa oppure digitarlo.
Se questa opzione è abilitata, GlassFish Server chiude tutte le connessioni nel pool e le ristabilisce se una qualsiasi connessione non riesce. Se l'opzione è disabilitata, le singole connessioni vengono ristabilite solo quando vengono utilizzate. Questa opzione è disabilitata per impostazione predefinita.
Se questa opzione è abilitata, il pool può essere utilizzato da chiamanti non componenti, quali filtri servlet e Persistence Manager di terze parti. Le connessioni ottenute dai chiamanti non componenti non vengono chiuse in modo automatico dal contenitore al termine di una transazione. Devono essere chiuse in modo esplicito dal chiamante. Questa opzione è disabilitata per impostazione predefinita.
Per modificare le impostazioni generali del connection pool JDBC
Per modificare gli attributi avanzati del connection pool JDBC