In questo articolo vado a spiegare brevemente come configurare una risorsa JDBC su Glassfish, per permettere ad una web application di interagire con un database (es. Mysql). La procedura che seguirò è esattamente la stessa sia sulla versione 3.0.1 che sulla 3.1.1 di Glassfish.
Possiamo configurare la nostra risorsa usando interamente l’interfaccia web di amministrazione di Glassfish, che di default è raggiungibile alla porta 4848.
Creazione del Connection Pool
Nel menù di sinistra apriamo il collagamento Risorse e quindi JDBC. Clicchiamo su Connection Pools.
Clicchiamo su New per creare una nuova connection pool. Inseriamo un nome univoco per il pool; selezioniamo javax.sql.DataSource come resource type e MySql come database vendor (o altro, a seconda del database utilizzato). Quindi clicchiamo su Next.
Nel secondo step possiamo personalizzare le impostazioni. La prima parte del form (Pool Settings) ci permette essenzialmente di regolare la dimensione del pool, la seconda parte invece (Transaction) di scegliere il tipo di connessioni (transactional o non transactional). Per il momento possiamo lasciare le scelte di default.
Dobbiamo invece agire sulla terza parte del modulo (Additional Properties), impostando i dati per la connessione al database. Dobbiamo inserire:
- URL: la url per la connessione al database. Es. jdbc:mysql://localhost:3306/test_db
- User: l’utente che ha i permessi di agire sul database. Es. test_user
- Password: la password dell’utente inserito. Es. test_password
- driverClass: la classe del driver per la connessione al database scelto. Es. com.mysql.jdbc.Driver nel caso di MySql
Se di default troviamo altre proprietà preimpostate, dobbiamo fare attenzione al fatto che non siano presenti proprietà ripetute; questo può succedere nel caso che compaiano proprietà con nome diverso ma solo nel case, ad esempio “Url” e “URL”: in questo caso potrebbe essere preso un valore diverso da quello che abbiamo impostato. A questo punto clicchiamo su Finish: abbiamo terminato la creazione del pool.
Creazione della risorsa JDBC
Passiamo quindi alla creazione della risorsa vera e propria cliccando su JDBC Resources nel menù laterale e quindi su New. Sarà sufficiente inserire un nome univoco per la risorsa e scegliere dal menù a tendina il pool appena creato. Clicchiamo infine su OK.
A questo punto siamo in grado di utilizzare questa risorsa per collegare la nostra applicazione con il database. Ad esempio, se usiamo JPA, possiamo inserire la risorsa creata nel file persistence.xml che definisce la nostra persistence unit.
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="TestPU" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <jta-data-source>jdbc/test</jta-data-source> <exclude-unlisted-classes>true</exclude-unlisted-classes> </persistence-unit> </persistence>
2 risposte su “Configurare risorse JDBC su Glassfish”
I did the same curtigonafion as you mention above. But I dont know why when I ping I get the error ORA-00604: error occurred at recursive SQL level 1 ORA-12705: Cannot access NLS data files or invalid environment specified Enviroment isOracle Database 10g Express Edition Release 10.2.0.1.0 ProductPL/SQL Release 10.2.0.1.0 ProductionCORE 10.2.0.1.0 ProductionTNS for 32-bit Windows: Version 10.2.0.1.0 ProductionNLSRTL Version 10.2.0.1.0 ProductionWin Xp Sp3And The Locale is tr_TR. thanks
Have you checked your oracle configuration? Are you able to connect to the db through command line or others tools?
Also consider that if you use Oracle you need a different driver than the one I used for Mysql.