Il pool in JBoss viene gestito nella configurazione DataSource. Here è il HowTo. L'app Web dovrebbe eseguire una ricerca JNDI per l'origine dati per ottenere la connessione al database anziché eseguire un URL JDBC diretto e quindi si avrà il pooling.
Le transazioni sono un'altra storia, però.
EDIT: In risposta al tuo commento su come questo influisce il codice, questo è ciò che sembra:
String jndiPath = "java:DataSourceJNDIName"; //The exact prefix here has a lot to do with clustering, etc., but if you are using one JBoss instance standalone, this works.
Context ctx = new InitialContext();
DataSource ds = (DataSource) PortableRemoteObject.narrow(ctx.lookup(jndiPath), DataSource.class);
Connection c = ds.getConnection();
Tecnicamente parlando il PortableRemoteObject.narrow non è necessaria in un JBoss (4.2.2 in ogni caso) Configurazione del server singolo, ma è più corretto il codice standard J2EE, in quanto i server di applicazioni generali non devono restituire un oggetto del tipo giusto solo per fare un Context.lookup.
È possibile che questo non copre i problemi di utilizzo delle risorse e la gestione degli errori. Dovresti chiudere quell'oggetto Context quando hai finito, e naturalmente la connessione al database, anche se JBoss ti urlerà se ti dimentichi di chiudere la connessione al database e la transazione finisce, e chiudila per te.
In ogni caso, l'oggetto Connection è utilizzabile tanto quanto DriverManager.getConnection (url);
Configurare JBoss è una parte del gioco, ci sono un bel alcuni esempi e tutorial disponibili online. Quello che mi interessa sono le modifiche che potrebbero essere richieste nel codice di base. Qualcuno può indicarmi un esempio o un'esercitazione in cui posso vedere come recuperare una connessione da JBoss darasource e come dovrebbe essere gestita in un secondo momento, ovvero chiudere o liberare la connessione. Grazie. –