Springフレームワークの勉強を始めたばかりです。現在の目標は、Bean から Geronimo サーバー上の JPA (TopLink** プロバイダー) を介してデータベースにアクセスすることです。しかし、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ですが、その構文ではクラスローダーを変更する可能性はありません。まだ助けが必要です!