Проблема с использованием библиотеки Quartz в Liferay / Glassfish с Vaadin - PullRequest
2 голосов
/ 29 ноября 2010

У меня странная проблема с запуском библиотеки Quartz на моем портале liferay на сервере Glassfish. Приложение разделено на две части: веб-приложение на основе Vaadin, которое запускает / останавливает кварцевое задание, и другое, которое содержит логику заданий.

Поскольку часть логики задания зависит от интерфейса задания, я должен развернуть Quartz как библиотеку osgi. При этом все работает нормально, и мое веб-приложение может видеть установленный модуль задания, но во время запуска задания выдает следующую ошибку.

previously initiated loading for a different type with name "org/quartz/Trigger"

Полагаю, это происходит потому, что я также дал библиотеку Quartz в своей web-inf / lib. Но если я удаляю это, это выдает другую ошибку для зависимостей Кварца.

Единственное возможное решение, которое у меня есть сейчас, - это удалить зависимости Quartz от второго компонента, который имеет бизнес-логику задания (скорее реализует org.quartz.Job; создайте другой интерфейс).

Есть ли другой способ разобраться в этом ???

1 Ответ

0 голосов
/ 20 сентября 2011

Попытка исправить ваши кварцевые зависимости в файле WAR - используйте import-package и удалите 2-й кварц из WEB-INF / lib.

Также убедитесь, что кварцевая зависимость на самом деле является пакетом или что вы динамически ее оборачиваете.

Похоже, у вас есть проблемы с загрузкой классов из-за нескольких копий Trigger. Сообщение об ошибке является кварцевым, сообщающим, что он загружен Trigger из загрузчика классов, отличного от предыдущего. Вам определенно не нужны две идентичные версии банки в вашем приложении.

...