Я использую NetBeans 6.8 и Glassfish Enterprise Server 2.1.1 ((v2.1 Patch06) (9.1_02 Patch12)) (build b31g-fcs).
Я создал сервлет и использовал функции генерации кода Netbeans для реализации сохраняемости с помощью TopLink (JPA1).
Когда я пытаюсь создать Entity Manager со следующим кодом:
EntityManagerFactory entityManagerFactory=Persistence.createEntityManagerFactory("xyzPU");
EntityManager entityManager=entityManagerFactory.createEntityManager();
Получаю следующее жуткое исключение:
Exception [TOPLINK-7106] (Oracle TopLink Essentials - 2.1 (Build b31g-fcs (10/19/2009))): oracle.toplink.essentials.exceptions.ValidationException Exception Description: Error encountered during string encryption. Internal Exception: java.security.ProviderException: update() failed oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:240) oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:93) oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:138) oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:132) oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:91) etc...
Пытаясь понять, что происходит, я поместил 2 строки кода выше в новый класс с методом main () (тот же пакет, что и код, но за пределами сервлета), и все работало правильно. Таким образом, проблем с импортом библиотек, файлами конфигурации и т. Д. Быть не должно. Кроме того, я попытался также запустить сервлет с другой версией Glassfish (я полагаю, что это была более легкая версия), и она тоже работала нормально.
Кто-нибудь может объяснить мне, что происходит? Может ли это быть связано с некоторыми настройками / конфигурациями Glassfish Enterprise Server Edition вместе со средой сервлетов? Что я должен делать?