2012-04-26 3 views
2

J'ai essayé de configurer une application Java EE sur JBOSS AS 7 pour utiliser hibernate-memcached comme cache de second niveau. L'objectif est de pouvoir évoluer au niveau JPA et d'utiliser un cache en cluster. J'ai essayé de mettre manuellement le pot dans les modules jboss mais je reçois ces erreurs. Voici certaines de ces erreurs:comment empaqueter hibernate-memcached pour l'utiliser dans JBoss 7

Caused by: org.hibernate.cache.CacheException: could not instantiate CacheProvider [com.googlecode.hibernate.memcached.MemcachedCacheProvider] 
    at org.hibernate.cache.internal.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:68) 
    ... 24 more 
Caused by: java.lang.ClassNotFoundException: com.googlecode.hibernate.memcached.MemcachedCacheProvider from [Module "org.hibernate:main" from local module loader @1839bb3 (roots: C:\jboss-7.0.0\modules)] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:191) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:358) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:330) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:307) 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:101) 
    at java.lang.Class.forName0(Native Method) [:1.7.0_03] 
    at java.lang.Class.forName(Class.java:186) [:1.7.0_03] 
    at org.hibernate.internal.util.ReflectHelper.classForName(ReflectHelper.java:191) 
    at org.hibernate.cache.internal.bridge.RegionFactoryCacheProviderBridge.<init>(RegionFactoryCacheProviderBridge.java:65) 
    ... 24 more 

Comment puis-je corriger ces erreurs?

Répondre

1

deux façons viennent à l'esprit:

  • Définir un nouveau module de mise en veille prolongée-memcached, et ajouter une dépendance à elle dans le module de mise en veille prolongée principal; ou

  • Il suffit d'ajouter les fichiers JAR hibernate-memcached au module hibernate principal et de les ajouter en tant que ressources dans module.xml.

Pour plus de détails sur la création et la modification de modules, voir documentation on class loading and modules in AS7.