Ehcache-element <cache/> nicht erlaubt Attribut "transactionalMode"?

Entsprechend der Ehcache Dokumentation, beginnend mit version 2.0, eine Ehcache-cache kann die Teilnahme an einer JTA Transaktion auf den Wert des Attributs transactionalMode auf element <cache/>.

Wenn das wahr ist, warum dann nicht Ehcache, wenn es auf dieses Attribut in meinem Ehcache-Konfiguration-Datei, werfen Sie die folgende Ausnahme und beschweren sich, dass "Element nicht erlaubt Attribut "transactionalMode".":

Caused by: net.sf.ehcache.CacheException: Error configuring from zip:C:/Program Files/Oracle/Middleware/user_projects/domains/abstrack1/servers/AdminServer/tmp/_WL_user/_appsdir_middleware-ear-1.0-SNAPSHOT_ear/n8rga7/middleware-ejb-1.0-SNAPSHOT.jar!/ehcache.xml. Initial cause was Error configuring from input stream. Initial cause was null:35: Element <cache> does not allow attribute "transactionalMode".
    at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(ConfigurationFactory.java:95)
    at net.sf.ehcache.config.ConfigurationFactory.parseConfiguration(ConfigurationFactory.java:131)
    at net.sf.ehcache.CacheManager.parseConfiguration(CacheManager.java:241)
    at net.sf.ehcache.CacheManager.init(CacheManager.java:190)
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:183)
    at net.sf.ehcache.hibernate.EhCacheProvider.start(EhCacheProvider.java:128)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:183)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1291)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:814)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:732)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1369)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
    ... 76 more]]>

Hier ist ein Beispiel-cache definition aus meiner ehcache.xml - Datei, in die ich eingestellt habe transactionalMode zu "xa":

<cache
    name="com.db.spgit.abstrack.model.Security"
    maxElementsInMemory="500"
    eternal="false"
    timeToIdleSeconds="300"
    timeToLiveSeconds="86400"
    overflowToDisk="false"
    transactionalMode="xa" />
  • Funktioniert gut für mich. Sind Sie sicher, dass Sie ehcache v2+ in den classpath? Haben Sie vielleicht zwei Versionen durch einen Unfall, vielleicht den Ruhezustand Abhängigkeit ist im Lieferumfang enthalten?
  • Skaffman, du hast Recht! Hibernate 3.3.2.GA mit Ehcache integration aufgenommen hat, Ehcache 1.2.3 und ich explizit enthalten Ehcache 2.1.0 (und dann 2.2.0). Kennt Ihr zufällig die version von Hibernate unterstützt (benötigt) Ehcache 2.0 oder höher?
  • Altneratively, wie kann ich verhindern, dass Maven auch von Ehcache 1.2.3 und stattdessen Ehcache 2.2.0 mit Hibernate Ehcache 3.3.2 GA (hängt davon ab, Ehcache 1.2.3) oder 3.5.1-Final (hängt davon ab, Ehcache 1.5.0)? Fühlen Sie sich frei, um Ihre Kommentare in Ihrer Antwort auf meine Frage.
  • Ich habe gefördert, die Frage in meinem zweiten Kommentar zu einer Frage Ihrer eigenen in stackoverflow.com/questions/3561235/....
InformationsquelleAutor Derek Mahar | 2010-08-24
Schreibe einen Kommentar