poniedziałek, 7 stycznia 2013

GlassFish, JPA i połączenie z bazą danych MySQL - Debian



Aby połączyć się z bazą danych MySQL z poziomu serwera aplikacji GlassFish należy najpierw skonfigurować połączenie JDBC.
W tym celu, po zalogowaniu się do portalu administracyjnego (domyślnie http://localhost:4848) należy:

1. Przejść do strony Resources/JDBC/JDBC Connection Pools oraz wybrać opcję New.

2. Wypełnić formularz w następujący sposób:

Pool Name - dowolna nazwa, np. mysql_cp1
Resource Type - java.sql.Driver
Database Driver Vendor - MySql

3. Na kolejnej stronie uzupełnić sekcję Additional Properties poprzez podanie następujących informacji:

URL - jdbc:mysql://localhost:3306/example_db
user - example_user
password - example_pass

4. Po zapisaniu ustawień przejść do strony Resources/JDBC/JDBC Resources i wybrać opcję New.

5. Wypełnić formularz poprzez podanie:

JNDI Name - np. jdbc/mysql_pool1
Pool Name - należy wybrać utworzony wcześniej Connection Pool, np mysql_cp1

Po zapisaniu ustawień konfiguracja po stronie serwera GlassFish jest gotowa. Następnie w pliku META-INF/persistence.xml należy dodać następujący wpis:

 <?xml version="1.0" encoding="UTF-8"?>  
 <persistence 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_1_0.xsd"  
   version="1.0">  
  <persistence-unit name="default" transaction-type="JTA">  
   <jta-data-source>jdbc/mysql_pool1</jta-data-source>  
  </persistence-unit>  
 </persistence>  

W przypadku problemów z połączeniem z bazą danych MySQL trzeba dodatkowo wykonać następujące kroki:

1. Pobranie biblioteki odpowiedzialnej za połączenie z bazą danych MySQL z poziomu Javy:

apt-get install libmysql-java

2. Skopiowanie pobranej biblioteki do katalogu /lib serwera aplikacji GlassFish, przykładowo:

cp /usr/share/java/mysql-connector-java-5.1.10.jar /home/user/glassfish3/glassfish/lib

3. Zrestartowanie serwera GlassFish.

Brak komentarzy:

Prześlij komentarz