Я пытаюсь заставить EclipseLink JPA работать в среде Spring dm Server OSGi.
Соответствующие платформы и библиотеки, загруженные из репозитория Spring Enterprise Bundle Repository, включают:
- дм Сервер 1.0.2.SR02
- Среда выполнения AspectJ 1.6.3
- Аспект J Уивер 1.6.3
- Spring Framework 2.5.6.A
- Затмение Стойкость 1.1.0
- API сохраняемости Javax 1.99.0
Я следовал той же структуре, которая представлена в примере PetClinic-1.5.0 для настройки EclipseLink JPA. Все работает до тех пор, пока не будет включена ленивая выборка (для которой требуются прокси-объекты).
После включения отложенной выборки следующая ошибка указывает на то, что переплетение во время загрузки работает неправильно.
---- (обрезано для удобства чтения)
Исключение [EclipseLink-60] (Eclipse Persistence Services — 1.1.0.r3634): org.eclipse.persistence.exceptions.DescriptorException Описание исключения: Метод [_persistence_setcustomer_vh] или [_persistence_getcustomer_vh] не определен в объекте [net.fractech .fds.backoffice.Job]. Внутреннее исключение: java.lang.NoSuchMethodException: net.fractech.fds.backoffice.Job._persistence_getcu stomer_vh() Сопоставление: org.eclipse.persistence.mappings.OneToOneMapping[customer] Дескриптор: RelationalDescriptor(net.fractech.fds.backoffice.J ob --> [Таблица базы данных (JOBS)])
Это показывает, что методы _persistence_getcustomer_vh() и _persistence_setcustomer_vh() не были автоматически встроены в объект домена задания.
Вопросы
1.) Как мне определить, действительно ли работает переплетение времени загрузки; кроме того, как мне записать, какое время загрузки было запущено ткацким агентом и ткачеством? Как передать переключатели этому ткачу, чтобы он выводил отладочную информацию?
Я предполагаю, что я начал плетение во время загрузки с ‹context:load-time-weaver аспектj-weaving="on" /›
2.) Многие поиски показали, что мне не нужно передавать параметр -javaagent в jvm при использовании dm Server. Это правильно?
3.) Я заверил, что мои объекты домена в другом пакете имеют доступ к классам сохраняемости eclipse, утверждая com.springsource.org.eclipse.persistence;version="[1.1.0,1.1.0]";import-scope: =application в моем пакете eclipselink, включая все пакеты приложений в PAR. Требуются ли какие-либо другие конфигурации для включения EclipseLink JPA в Spring dm Server?