GlassFish 2.1.1 - TopLink (JPA1) Исключение сохраняемости 7106 - Загадка шифрования строк

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


person DevMarDev    schedule 01.07.2010    source источник


Ответы (1)


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

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

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

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

Уровень: 1

Тип: ОШИБКА

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

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

person Pascal Thivent    schedule 01.07.2010
comment
Спасибо за ваш комментарий. К сожалению, я использую самую последнюю версию JDK (и это может быть проблемой). Похоже, я обнаружил следующую ошибку: bugs.sun.com/bugdatabase /view_bug.do?bug_id=6928796 К сожалению, у меня возникают разные проблемы при попытке перейти на более раннюю версию JDK, и я не совсем понимаю обходные пути ... Не могли бы вы помочь с этим? Спасибо! - person DevMarDev; 07.07.2010
comment
@Marcello: Если честно, это был выстрел в темноте. И я не знаю, столкнулись ли вы с упомянутой ошибкой (я не вижу очевидных доказательств, но у вас есть более подробные сведения, я думаю). Возможно, стоит попробовать понизить версию JDK, но вы ничего не сказали об ошибках, с которыми столкнулись :) - person Pascal Thivent; 08.07.2010