Spring фреймворк Tomcat LoadTimeWeaving

Я использую tomcat в качестве своего веб-сервера и хотел бы использовать аннотацию fetch = FetchType.lazy для всех моих аннотаций @OneToOne, но spring отменяет мои ленивые настройки и дает мне предупреждения eclipselink:

Reverting the lazy setting on the OneToOne or ManyToOne attribute [student] for the entity class [class org.bixin.dugsi.domain.Registration] since weaving was not enabled or did not occur.

Что мне нужно сделать, чтобы tomcat заработал, чтобы я мог использовать ленивую выборку или есть какие-либо другие альтернативы отношениям ленивой загрузки. У меня огромные проблемы с производительностью?

Теперь я пытаюсь добавить плетение во время загрузки, я добавил как spring-instruments.jar, так и spring-aspects.jar в свой tomcat/lib, и после добавления глобального <context:load-time-weaver/> в мой файл applicationContext.xml я получаю

ClassLoader [sun.misc.Launcher$AppClassLoader] does NOT provide an 'addTransformer(ClassFileTransformer)' method. Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring's agent: -javaagent:org.springframework.instrument.jar

person Warz    schedule 02.07.2012    source источник
comment
возможный дубликат stackoverflow.com/questions/8285684/ или обнаружение этой ошибки jira.springsource.org/browse/SPR-9081   -  person Ravi Kadaboina    schedule 03.07.2012
comment
Этот вопрос SO и предоставленный ресурс eclipselink не дают четкого указания относительно того, куда нужно идти (spring.instruments.jar) и обновлений context.xml?   -  person Warz    schedule 03.07.2012


Ответы (1)


Вместо этого я бы рекомендовал использовать статическое плетение, см.

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving

Весной можно начать ткачество. Я бы порекомендовал начать с одного из руководств по Spring за пределами Tomcat и постепенно усложнять его, пока он не заработает внутри Tomcat.

person James    schedule 03.07.2012
comment
Я просмотрел эту документацию, и ее действительно сложно правильно следовать (настраивать). Как узнать, правильно ли я включил статическое плетение, есть ли пример проекта репозитория github, в котором есть пример использования tomcat в качестве веб-сервера? - person Warz; 03.07.2012
comment
Должен ли я, если я использую статическое плетение, всегда запускать аргумент командной строки при сборке и запуске проекта? - person Warz; 04.07.2012
comment
Да, вы должны запустить задачу на своей банке и использовать сплетенную банку, которую она выводит. - person James; 04.07.2012
comment
нельзя один раз поместить это в мой проект, чтобы использовать eclipse в качестве инструмента запуска, сборки и развертывания. Я попытался добавить плагин maven-ant и добавить указанную задачу, но, похоже, ничего не работает, и ленивые настройки возвращаются. - person Warz; 04.07.2012