2012-04-26 55 views
2

我一直試圖在JBOSS AS 7上設置一個Java EE應用程序來使用hibernate-memcached作爲二級緩存。目標是能夠在JPA級別進行擴展並使用羣集緩存。我試圖手動將jar放在jboss模塊中,但我得到這個錯誤。這裏有一些錯誤:如何將hibernate-memcached打包在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 

我該如何解決這些錯誤?

回答

1

一對夫婦的方式浮現在腦海中:

  • 定義一個新的Hibernate-memcached的模塊,並添加一個依賴於它的主休眠模塊;或

  • 只需將hibernate-memcached JAR添加到主休眠模塊並將其作爲資源根在module.xml中添加即可。

有關如何創建和修改模塊的詳細信息,請參閱documentation on class loading and modules in AS7