Je viens de commencer à étudier Spring framework. Mon objectif actuel est d'accéder à la base de données de mon bean via JPA (fournisseur TopLink **) sur le serveur Geronimo. Mais je ne peux pas surmonter le problème d'obtention entityManagerFactory.Impossible de récupérer "entityManagerFactory" en utilisant Geronimo
L'exception que je reçois:
java.lang.IllegalStateException: ClassLoader [org.apache.geronimo.kernel.config.MultiParentClassLoader] ne fournit pas un 'addTransformer (ClassFileTransformer)' méthode. Spécifiez une coutume LoadTimeWeaver ou démarrer votre machine virtuelle Java avec l'agent de printemps: -javaagent: printemps-agent.jar
La façon dont j'accéder:
<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 />
Je serai très reconnaissant si n'importe qui peut m'aider sans utiliser l'option "-javaagent: spring-agent.jar".
Recherche d'une solution. Premier essai. Après "axtavt" advice, j'ai trouvé un exemple de spécification de chargeur de classe spéciale pour votre application web sur Tomcat. Il utilise le fichier context.xml à cette fin. Bien que mon Geronimo utilise Tomcat, je n'ai pas réussi à implémenter context.xml. Comme il est dit dans la prochaine manual l'alternative pour context.xml pour Geronimo est geronimo-tomcat.xml, mais sa syntaxe ne fournit aucune possibilité de changer classloader. J'ai encore besoin d'aide!
Salut, il semble que ce soit la bonne façon, mais je n'ai pas trouvé d'alternative pour context.xml. J'ai mis à jour ma question. – Denis
@Denis: Réponse éditée. – axtavt
Bonjour! J'ai une question à cause de l'utilisation d'Hibernate. Où puis-je trouver la classe "org.hibernate.ejb.HibernatePersistence"? J'ai décidé d'utiliser maven et de placer l'artefact suivant comme dépendance "org.hibernate: hibernate-entitymanager". Maven a ajouté trois jars liés à hibernate à mon projet. Deux d'entre eux sont connectés à l'aide d'annotations et le troisième est le noyau, mais aucun d'eux ne contient la classe requise "org.hibernate.ejb.HibernatePersistence". Les instructions que j'ai suivies: http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/configuration.html – Denis