[英]Failed to retrieve “entityManagerFactory” using Geronimo
我剛剛開始研究Spring框架。 我當前的目標是通過Geronimo服務器上的JPA(TopLink **提供程序)從bean中訪問數據庫。 但是我無法克服獲取entityManagerFactory的問題。
我得到的例外:
java.lang.IllegalStateException:ClassLoader [org.apache.geronimo.kernel.config.MultiParentClassLoader]不提供'addTransformer(ClassFileTransformer)'方法。 指定一個定制的LoadTimeWeaver或使用Spring的代理啟動Java虛擬機:-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” 建議 ,我找到了在Tomcat上為Web應用程序指定特殊類加載器的示例。 為此,它使用context.xml文件。 盡管我的Geronimo使用Tomcat,但是我沒有成功實現context.xml 。 如下一本手冊所述,用於Geronimo的context.xml的替代方法是geronimo-tomcat.xml ,但是它的語法無法為更改類加載器提供任何可能性。 我仍然需要幫助!
Toplink需要加載時編織支持。
我想在Geronimo中它可以通過配置
META-INF/context.xml
,並把儀表罐子到
lib
文件夾中,在Tomcat中,看
這里 。
編輯:所以,您的問題是Toplink需要類轉換支持。 當在Spring的配置中配置Toplink的實體管理器( LocalContainerEntityManagerFactoryBean
)時,它將嘗試使用Spring對類轉換的支持( <context:load-time-weaver />
),但是Spring沒有內置的對類轉換的支持。傑羅尼莫。 因此,您有3個選擇:
TransformerAgent.addTransformer()
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.