GlassFish 2.1.1 - Исключение сохраняемости TopLink (JPA1) 7106 - Тайна шифрования строк - PullRequest
2 голосов
/ 02 июля 2010

Я использую 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 вместе со средой сервлетов? Что мне делать?

1 Ответ

1 голос
/ 02 июля 2010

Вот что я нашел об ошибке TOP-07106 (из здесь ):

TOP-07106: Ошибка при шифровании строки.

Причина: Ошибка при шифровании строки пароля.

Действие: При попытке зашифровать строку пароля возникла ошибка.Распространенной причиной этого исключения является использование JDK 1.3 и более ранних версий.Механизм шифрования TopLink JCE требует JDK 1.4 и более поздних версий (или JDK 1.3, настроенный с помощью подключаемого модуля JCE) для правильной работы.

Уровень: 1

Тип: ОШИБКА

Влияние: Конфигурация

Помогает ли это?Не могли бы вы столкнуться с подобной ситуацией?

...