Я только что начал изучать Spring framework. Моя текущая цель - получить доступ к базе данных из моего компонента через JPA (поставщик TopLink **) на сервере Geronimo. Но я не могу решить проблему получения entityManagerFactory.Не удалось получить «entityManagerFactory» с помощью Geronimo
Исключение я получаю:
java.lang.IllegalStateException: ClassLoader [org.apache.geronimo.kernel.config.MultiParentClassLoader] не обеспечивает 'addTransformer (ClassFileTransformer)' метод. Укажите пользовательские LoadTimeWeaver или запустить Java виртуальную машину с агентом Спринга: -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, но его синтаксис не предоставляет возможности для изменения загрузчика классов. Мне все еще нужна помощь!
Привет, это кажется правильным, но я не нашел альтернативы для context.xml. Я обновил свой вопрос. – Denis
@Denis: Ответ отредактирован. – axtavt
Привет! У меня вопрос из-за использования Hibernate. Где я могу найти класс org.hibernate.ejb.HibernatePersistence? Я решил использовать maven и разместить после артефакта в качестве зависимости «org.hibernate: hibernate-entitymanager». Maven добавил к моему проекту три спящего режима. Два из них связаны с использованием аннотаций, а третий - ядром, но ни один из них не содержит требуемого класса «org.hibernate.ejb.HibernatePersistence». Последующие инструкции: http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/configuration.html – Denis