Я только начал изучать Spring Framework. Моя текущая цель - получить доступ к базе данных из моего бина через JPA (поставщик TopLink **) на сервере Geronimo. Но я не могу преодолеть проблему получения entityManagerFactory.
Исключение, которое я получаю:
java.lang.IllegalStateException:
ClassLoader
[Org.apache.geronimo.kernel.config.MultiParentClassLoader]
НЕ предоставляет
'AddTransformer (ClassFileTransformer)'
метод. Укажите кастом
LoadTimeWeaver или запустите Java
виртуальная машина с агентом Spring:
-javaagent: весна-agent.jar
Способ доступа к нему:
<context:load-time-weaver />
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath:/META-INF/persistence.xml" />
</bean>
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />
<bean name="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<tx:annotation-driven />
Буду очень признателен, если кто-нибудь сможет помочь мне, не используя опцию "-javaagent: spring-agent.jar".
Поиск решения. Первая попытка.
Следуя "axtavt" advice , я нашел пример указания специального загрузчика классов для вашего веб-приложения на Tomcat. Для этого он использует context.xml файл. Хотя мой Geronimo использует Tomcat, мне не удалось реализовать context.xml . Как сказано в следующем
manual альтернатива context.xml для Geronimo - geronimo-tomcat.xml , но его синтаксис не предоставляет никаких возможностей для изменения загрузчика классов. Мне все еще нужна помощь!