Nhìn vào dòng sau trong ngăn xếp
bạn có thể đoán vấn đề có thể là gì. Tôi nghĩ vấn đề đầu tiên là vấn đề trình điều khiển cơ sở dữ liệu. 1527
là số cổng mặc định của cơ sở dữ liệu derby được gửi cùng với máy chủ ứng dụng Glassfish.
Vì bạn chưa cung cấp bất kỳ nguồn dữ liệu nào trong cấu hình của mình, máy chủ đang cố gắng tìm cơ sở dữ liệu mặc định trong trường hợp này; nhưng bạn không thể kết nối với cơ sở dữ liệu đó vì bạn chưa cung cấp bất kỳ thông tin kết nối nào cho cơ sở dữ liệu này.
Vì vậy, bạn phải làm như sau trong META-INF/persistence.xml
của mình :
-
Cung cấp
transaction-type
(trong cấu hình của bạn, nó được giả định là JTA vì bạn đang triển khai ứng dụng của mình trên môi trường JEE cho mỗi đặc tả) là<persistence-unit name="unit" transaction-type="JTA">
-
Cung cấp
jta-data-source
là phần tử con củapersistence-unit
<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
Để cấu hình trên hoạt động, bạn phải định cấu hình máy chủ ứng dụng (Glassfish) của mình. Để làm như vậy, bạn phải tải xuống trình điều khiển jdbc MySQL, giải nén nó và sao chép tệp jar vào <glassfish_installation_directory>/glassfish/domains/domain1/lib
(Tôi giả sử ở đây là Glassfish 3.1). Lý do cho điều này là Glassfish không được vận chuyển với trình điều khiển MySQL, vì vậy bạn phải tự thực hiện việc này.
Sau khi khởi động Glassfish và mở bảng điều khiển dành cho quản trị viên ( http:// localhost:4848 ). Trên ngăn bên trái, hãy mở
-
Resources/JDBC/JDBC Connection Pools
và tạo một nhóm kết nối mới -
Resources/JDBC/JDBC Resources
và tạo một nguồn dữ liệu mới. Tên bạn đặt cho nguồn dữ liệu của mình là tên bạn phải có trongpersistence.xml
của mình như đã đề cập ở trên.