Я использую NetBeans 6.8 и Glassfish Enterprise Server 2.1.1 ((v2.1 Patch06) (9.1_02 Patch12)) (сборка 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...
Пытаясь выяснить, что происходит, я поместил две строки кода выше в новый класс с методом main () (тот же пакет, что и тот, где код был раньше, но за пределами сервлета), и все работало правильно , Таким образом, не должно быть проблем с импортом библиотек, файлами конфигурации и т. Д. Кроме того, я попытался также запустить сервлет, используя другую версию glassfish (я полагаю, только более легкую версию), и он тоже работал нормально.
Может кто-нибудь объяснить мне, что происходит? Может ли это быть что-то связанное с некоторыми настройками / конфигурациями Glassfish Enterprise Server Edition вместе со средой сервлетов? Что мне делать?