org.mise en veille prolongée.ejb.HibernatePersistence ne peut pas être lancé à javax.la persistance.le spi.PersistenceProvider
Je développe une application à l'aide de PRINTEMPS 3.0.4, JPA 2, Hibernate 3.5.5.
Je l'essaie un exemple donné sur le lien http://www.javacodegeeks.com/2010/05/jboss-42x-spring-3-jpa-hibernate.html.
seule différence, c'est que je suis en utilisant les dernières versions de bibliothèques et d'serveur JBOSS.
Voici la liste de mes /WEB-INF/lib du répertoire des fichiers
antlr-2.7.6.jar
aopalliance.jar
c3p0-0.9.1.jar
commons-collections-3.1.jar
commons-logging-1.1.1.jar
dom4j-1.6.1.jar
gwt-dev.jar
gwt-user.jar
hibernate3.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hsqldb.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
log4j-1.2.16.jar
org.springframework.aop-3.0.4.RELEASE.jar
org.springframework.asm-3.0.4.RELEASE.jar
org.springframework.aspects-3.0.4.RELEASE.jar
org.springframework.beans-3.0.4.RELEASE.jar
org.springframework.context.support-3.0.4.RELEASE.jar
org.springframework.context-3.0.4.RELEASE.jar
org.springframework.core-3.0.4.RELEASE.jar
org.springframework.expression-3.0.4.RELEASE.jar
org.springframework.instrument.tomcat-3.0.4.RELEASE.jar
org.springframework.instrument-3.0.4.RELEASE.jar
org.springframework.jdbc-3.0.4.RELEASE.jar
org.springframework.jms-3.0.4.RELEASE.jar
org.springframework.orm-3.0.4.RELEASE.jar
org.springframework.oxm-3.0.4.RELEASE.jar
org.springframework.test-3.0.4.RELEASE.jar
org.springframework.transaction-3.0.4.RELEASE.jar
org.springframework.web.portlet-3.0.4.RELEASE.jar
org.springframework.web.servlet-3.0.4.RELEASE.jar
org.springframework.web.struts-3.0.4.RELEASE.jar
org.springframework.web-3.0.4.RELEASE.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.6.1.jar
spring4gwt-0.0.1.jar
Qui suit est mon /WEB-INF/web.xml fichier
<?xml version="1.0" encoding="UTF-8"?>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<!-- Servlets -->
<servlet>
<servlet-name>springGwtRemoteServiceServlet</servlet-name>
<servlet-class>org.spring4gwt.server.SpringGwtRemoteServiceServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>springGwtRemoteServiceServlet</servlet-name>
<url-pattern>/gwtspring/springGwtServices/*</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>GWTSpring.html</welcome-file>
</welcome-file-list>
Qui suit est mon /WEB-INF/applicationContext.xml fichier
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">
<context:component-scan base-package="com.javacodegeeks.gwtspring" />
<task:annotation-driven executor="myExecutor" scheduler="myScheduler" />
<task:executor id="myExecutor" pool-size="5" />
<task:scheduler id="myScheduler" pool-size="10" />
<tx:annotation-driven />
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="persistenceUnitName" value="MyPersistenceUnit" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
Qui suit est mon /src/resources/META-INF/petsistence.xml fichier
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="MyPersistenceUnit" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>java:/gwtDS</non-jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" />
<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" />
<property name="hibernate.connection.url" value="jdbc:hsqldb:mem:salvation" />
<property name="hibernate.connection.username" value="sa" />
<property name="hibernate.connection.password" value="" />
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.max_size" value="20" />
<property name="hibernate.c3p0.timeout" value="300" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.idle_test_period" value="3000" />
</properties>
</persistence-unit>
Maintenant, quand j'essaie de compiler à l'aide de JBOSS server il me donne l'erreur suivante
11:34:17,828 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221053)] a Commencé en 19s:985ms
11:34:28,437 INFO [PersistenceUnitDeployment] à Partir de l'unité de persistance persistance.unité:unitName=#MyPersistenceUnit
11:34:29,046 ERREUR [AbstractKernelController] Erreur lors de l'installation pour Commencer: nom=persistance.unité:unitName=#MyPersistenceUnit état=Créer
java.lang.ClassCastException: org.mise en veille prolongée.ejb.HibernatePersistence ne peut pas être lancé à javax.la persistance.le spi.PersistenceProvider
au org.jboss.jpa.le déploiement.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:300)
au coucher du soleil.de réfléchir.NativeMethodAccessorImpl.invoke0(Native method)
au coucher du soleil.de réfléchir.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
au coucher du soleil.de réfléchir.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
à java.lang.de réfléchir.La méthode.invoke(la Méthode.java:597)
au org.jboss.de réfléchir.les plugins.l'introspection.ReflectionUtils.invoke(ReflectionUtils.java:59)
au org.jboss.de réfléchir.les plugins.l'introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:150)
au org.jboss.de jonction.les plugins.BasicMethodJoinPoint.dispatch(BasicMethodJoinPoint.java:66)
au org.jboss.kernel.plugins.dependency.KernelControllerContextAction$JoinpointDispatchWrapper.execute(KernelControllerContextAction.java:241)
au org.jboss.le noyau.les plugins.la dépendance.ExecutionWrapper.execute(ExecutionWrapper.java:47)
au org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:109)
au org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchJoinPoint(KernelControllerContextAction.java:70)
au org.jboss.le noyau.les plugins.la dépendance.LifecycleAction.installActionInternal(LifecycleAction.java:221)
au org.jboss.le noyau.les plugins.la dépendance.InstallsAwareAction.installAction(InstallsAwareAction.java:54)
au org.jboss.le noyau.les plugins.la dépendance.InstallsAwareAction.installAction(InstallsAwareAction.java:42)
au org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
au org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
au org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
au org.jboss.la dépendance.les plugins.AbstractControllerContext.installer(AbstractControllerContext.java:348)
au org.jboss.la dépendance.les plugins.AbstractController.installer(AbstractController.java:1631)
au org.jboss.la dépendance.les plugins.AbstractController.incrementState(AbstractController.java:934)
au org.jboss.la dépendance.les plugins.AbstractController.resolveContexts(AbstractController.java:1082)
au org.jboss.la dépendance.les plugins.AbstractController.resolveContexts(AbstractController.java:984)
au org.jboss.la dépendance.les plugins.AbstractController.installer(AbstractController.java:774)
au org.jboss.la dépendance.les plugins.AbstractController.installer(AbstractController.java:540)
au org.jboss.chargés de déploiement.vfs.deployer.le noyau.BeanMetaDataDeployer.déployer(BeanMetaDataDeployer.java:121)
au org.jboss.chargés de déploiement.vfs.deployer.le noyau.BeanMetaDataDeployer.déployer(BeanMetaDataDeployer.java:51)
au org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)
au org.jboss.chargés de déploiement.le spi.deployer.les aides.AbstractRealDeployer.déployer(AbstractRealDeployer.java:50)
au org.jboss.chargés de déploiement.les plugins.chargés de déploiement.DeployerWrapper.déployer(DeployerWrapper.java:171)
au org.jboss.chargés de déploiement.les plugins.chargés de déploiement.DeployersImpl.doDeploy(DeployersImpl.java:1439)
au org.jboss.chargés de déploiement.les plugins.chargés de déploiement.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1157)
au org.jboss.chargés de déploiement.les plugins.chargés de déploiement.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1178)
au org.jboss.chargés de déploiement.les plugins.chargés de déploiement.DeployersImpl.installer(DeployersImpl.java:1098)
au org.jboss.la dépendance.les plugins.AbstractControllerContext.installer(AbstractControllerContext.java:348)
au org.jboss.la dépendance.les plugins.AbstractController.installer(AbstractController.java:1631)
au org.jboss.la dépendance.les plugins.AbstractController.incrementState(AbstractController.java:934)
au org.jboss.la dépendance.les plugins.AbstractController.resolveContexts(AbstractController.java:1082)
au org.jboss.la dépendance.les plugins.AbstractController.resolveContexts(AbstractController.java:984)
au org.jboss.la dépendance.les plugins.AbstractController.changement(AbstractController.java:822)
au org.jboss.la dépendance.les plugins.AbstractController.changement(AbstractController.java:553)
au org.jboss.chargés de déploiement.les plugins.chargés de déploiement.DeployersImpl.processus(DeployersImpl.java:781)
au org.jboss.chargés de déploiement.les plugins.principal.MainDeployerImpl.processus(MainDeployerImpl.java:702)
au org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
au org.jboss.système.serveur.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:362)
au org.jboss.système.serveur.profileservice.hotdeploy.HDScanner.exécuter(HDScanner.java:255)
à java.util.de façon concomitante.Les Exécuteurs$RunnableAdapter.appelez le(les Exécuteurs.java:441)
à java.util.de façon concomitante.FutureTask$De Synchronisation.innerRunAndReset(FutureTask.java:317)
à java.util.de façon concomitante.FutureTask.runAndReset(FutureTask.java:150)
au java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
au java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
au java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
à java.util.de façon concomitante.ThreadPoolExecutor$Par Travailleur.runTask(ThreadPoolExecutor.java:886)
à java.util.de façon concomitante.ThreadPoolExecutor$Par Travailleur.exécuter(ThreadPoolExecutor.java:908)
à java.lang.Fil de discussion.exécution(Thread.java:619)
Quelqu'un sait-il m'aider à résoudre le problème.
S'il vous plaît laissez-moi savoir si vous avez besoin de rien d'autre de moi.
Grâce.
OriginalL'auteur amar4kintu | 2010-09-21
Vous devez vous connecter pour publier un commentaire.
Personnellement, je jamais réussi en utilisant JPA 2.0 avec JBoss 5.1.x (en raison d'une trop étroite intégration avec JPA 1.0), il semble bien que possible avec JBoss 4.2.
Ma suggestion serait d'utiliser JBoss 6.0 M4 (au moment de la rédaction du présent), et de supprimer tous les hibernate liées Pots de la webapp:
Ou pour tout simplement utiliser Tomcat (et déployer votre application web comme vous ne l'utilisez pas tout de JBoss.
Voir aussi
OriginalL'auteur Pascal Thivent
Je suppose que vous n'avez pas besoin
hibernate-jpa-2.0-api-1.0.0.Final.jar
dans/WEB-INF/lib
, depuis JBoss avoir son propre ensemble de JPA classes.Vous avez donc deux ensembles de JPA classes chargées par les différents chargeurs de classes, et ces classes ne peut pas être utilisé pour les uns les autres.
Bonjour les amis, Merci pour la réponse, mais si je supprime hibernate-jpa-2.0-api-1.0.0.Final.jar dans /WEB-INF/lib, il me donne l'erreur suivante java.lang.ClassNotFoundException: javax.la persistance.le spi.ProviderUtil de BaseClassLoader@1b429{VFSClassLoaderPolicy@1daf1cd{name=vfsfile:/E:/workspace/eclipse/.metadata/.plugins/org.jboss.ide.eclipse.as.core/JBoss_5.1_Server/deploy/GWTSpring.war/
Regarde le Pascal Thivent de réponse, il est plus approprié.
OriginalL'auteur axtavt
J'ai créé une solution de contournement pour ce problème spécifique. Découvrez-le ici : Comment utiliser JPA2 sur JBoss 5.x ? (ou Comment éliminer de chargement de classe d'isolement numéro?)
OriginalL'auteur Stephan