Hibernate 4 ConnectionProvider Classe pas trouvé
Je viens de mettre à jour Hiberner dans mon application de l'article 4.3.4 (à partir de 3.X), ce qui a causé quelques problèmes. La première a été la nouvelle méthode de création d'une sessionFactory, que j'ai résolu.
Le problème suivant, qui je trouve rien, c'est que je suis maintenant une ClassNotFoundException sur org.mise en veille prolongée.connexion.ConnectionProvider
Il convient de noter que je suis à l'aide de BoneCP (0.7.1) pour mon pool de connexion, qui fonctionnait avant la mise à niveau.
Toute aide serait appréciée. Je suis assez nouveau à la mise en veille prolongée (que je suis en train de travailler sur la mise en œuvre comme un POC), et j'ai peut-être laissé de côté certains détails importants de ma description ici en tant que tel.
Je n'ai pas besoin d'elle pour être la version la plus récente, donc je ne peux revenir en arrière, mais il serait agréable d'avoir la dernière et la plus grande 🙂
Merci!
Hibernate.cfg.xml extrait de (avec des informations sensibles remplacé):
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">foo</property>
<property name="hibernate.connection.username">bob</property>
<property name="hibernate.default_schema">bar</property>
<property name="hibernate.dialect">package.path.MySQLCustomDialect</property>
<!-- Bonecp connection pool -->
<property name="hibernate.connection.provider_class">com.jolbox.bonecp.provider.BoneCPConnectionProvider</property>
<property name="bonecp.maxConnectionAgeInMinutes">5</property>
<property name="bonecp.idleConnectionTestPeriodInMinutes">0</property>
and so on ...
Trace De La Pile:
Exception in thread "Thread-110" java.lang.NoClassDefFoundError: org/hibernate/connection/ConnectionProvider
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl$AggregatedClassLoader.findClass(ClassLoaderServiceImpl.java:222)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:249)
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:240)
at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:125)
at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:194)
at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:120)
at org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:55)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:83)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:223)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:197)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
at foo.utils.HibernateUtils.<clinit>(HibernateUtils.java:16)
at foo.objects.building.BuildingHelper.getBuildingByID(BuildingHelper.java:225)
at foo.objects.inventory.LocationInformation.<init>(LocationInformation.java:36)
at foo.objects.computermanagementframework.peripheral.PeripheralHelper.readLocation(PeripheralHelper.java:154)
at foo.objects.computermanagementframework.peripheral.PeripheralHelper.refresh(PeripheralHelper.java:556)
at foo.server.initialization.InitializeServerThread.run(InitializeServerThread.java:298)
at java.lang.Thread.run(Thread.java:695)
Caused by: java.lang.ClassNotFoundException: org.hibernate.connection.ConnectionProvider
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
... 36 more
la bibliothèque (jar) contenant la classe
com.jolbox.bonecp.provider.BoneCPConnectionProvider
présents dans votre chemin de génération?Oui, c'est un projet maven. Et j'ai bonecp-0.8.0.De LIBÉRATION et de bonecp-fournisseur-0.7.1.La LIBÉRATION dans mon build path (également les dépendances maven)
OriginalL'auteur thepoynt | 2014-04-11
Vous devez vous connecter pour publier un commentaire.
Hibernate ne cesse de changer l'emballage contenant le
ConnectionProvider
de la classe de base. Il a changé à partir de la version 3 à 4 et a de nouveau changé avec verson 4.3.@Teresa-carrigan mentionne dans un commentaire à cette réponse, vous devrez compiler la dernière BoneCPConnectionProvider.java (actuellement en charge Hibernate 4.3.1) et l'utiliser.
Ou utiliser Hibernate version 4.2.12.Final et voir si cela fonctionne avec BoneCP 0.8 (comme expliqué dans la réponse précitée).
OriginalL'auteur vanOekel