【发布时间】:2010-05-26 16:28:49
【问题描述】:
我刚开始学习Spring框架。我当前的目标是通过 Geronimo 服务器上的 JPA(TopLink** 提供程序)从我的 bean 访问数据库。但是我无法克服获取 entityManagerFactory 的问题。
我得到的异常:
java.lang.IllegalStateException: 类加载器 [org.apache.geronimo.kernel.config.MultiParentClassLoader] 不提供 'addTransformer(ClassFileTransformer)' 方法。指定自定义 LoadTimeWeaver 或启动您的 Java 带有 Spring 代理的虚拟机: -javaagent:spring-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 上的 Web 应用程序指定特殊类加载器的示例。为此,它使用 context.xml 文件。尽管我的 Geronimo 使用 Tomcat,但我没有成功实现 context.xml。正如接下来所说 manual Geronimo 的 context.xml 的替代方案是 geronimo-tomcat.xml,但它的语法不提供更改类加载器的任何可能性。我仍然需要帮助!
【问题讨论】:
标签: java spring jpa toplink-essentials geronimo