Разглеждане на следния ред в проследяването на стека
можете да се досетите какъв може да е проблема. Първият проблем според мен е проблемът с драйвера на базата данни. 1527
е номерът на порта по подразбиране на базата данни derby, която се доставя със сървъра за приложения Glassfish.
Тъй като не сте предоставили източник на данни във вашата конфигурация, сървърът се опитва да намери базата данни по подразбиране, която в този случай е derby; но не можете да се свържете с тази база данни, тъй като не сте предоставили никаква информация за връзка за тази база данни.
Така че трябва да направите следното във вашия META-INF/persistence.xml
:
-
Посочете
transaction-type
(във вашата конфигурация се приема, че е JTA, защото внедрявате приложението си в JEE среда според спецификация) като<persistence-unit name="unit" transaction-type="JTA">
-
Осигурете
jta-data-source
елемент като дете наpersistence-unit
<persistence-unit name="unit" transaction-type="JTA"> ... <jta-data-source>your_data_source_name</jta-data-source> ... </persistence-unit>
За да работи горната конфигурация, трябва първо да конфигурирате вашия сървър за приложения (Glassfish). За да направите това, трябва да изтеглите MySQL jdbc драйвера, да го разопаковате и да копирате jar файла в <glassfish_installation_directory>/glassfish/domains/domain1/lib
(Предполагам тук Glassfish 3.1). Причината за това е, че Glassfish не се доставя с MySQL драйвер, така че трябва да направите това сами.
След това стартирайте Glassfish и отворете административната конзола (http://localhost:4848 ). В левия прозорец отворете
Resources/JDBC/JDBC Connection Pools
и създайте нов набор от връзкиResources/JDBC/JDBC Resources
и създайте нов източник на данни. Името, което давате на вашия източник на данни, е това, което трябва да въведете във вашияpersistence.xml
както бе споменато по-горе.