2017-05-10 6 views
1

Essayer de mettre en œuvre à l'aide ehcache ehcache.xml dans wildfly10configuration Ehcache avec wildfly 10

Ajout du fichier ehcache.jar en tant que module et dépendances ajoutés comme mentionné ci-dessous:

<resources> 
     <resource-root path="ehcache-1.2.2.jar"/> 
    </resources> 

    <dependencies> 
     <module name="org.apache.commons.logging"/> 
     <module name="org.apache.log4j"/> 
     <module name="javax.xml.parsers"/> 
    </dependencies> 


</module> 

Je suis obtenir l'erreur suivante lorsque j'essaie d'exécuter le fichier de guerre du serveur.

Error configuring from d:\ehcache.xml. Initial cause was Error configuring from input stream. Initial cause was __redirected.__SAXParserFactory cannot be cast to javax.xml.parsers.SAXParserFactory

Toute avance sera utile.

StackTrace:

  • net.sf.ehcache.CacheException: Erreur lors de la configuration de
    d: \ ehcache \ ehcache.xml. La cause initiale était Erreur lors de la configuration à partir du flux d'entrée
    . cause initiale a été __redirected .__ SAXParserFactory
    ne peut pas être jeté à javax.xml.parsers.SAXParserFactory
    net.sf.ehcache.config.ConfigurationFactory.parseConfiguration (ConfigurationFactory.java:80) net.sf.ehcache.CacheManager.parseConfiguration (. CacheManager.java:752) net.sf.ehcache.CacheManager.init (CacheManager.java:386)
    net.sf.ehcache.CacheManager (CacheManager.java:295)
    MySqlTest.ehcache (MySqlTest.java: 93)
    MySqlTest.processRequest (MySqlTest.java:77)
    MySqlTest.doGet (MySqlTest.java:224)
    javax.servlet.http. HttpServlet.service (HttpServlet.java:687)
    javax.servlet.http.HttpServlet.service (HttpServlet.java:790)
    io.undertow.servlet.handlers.ServletHandler.handleRequest (ServletHandler.java:85) io .undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest (ServletSecurityRoleHandler.java:62) io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest (ServletDispatchingHandler.java:36) org.wildfly.extension.undertow.security.SecurityContextAssociationHandler .handleRequest (SecurityContextAssociationHandler.java:78) io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest (SSLInformatio nAssociationHandler.java:131) io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest (ServletAuthenticationCallHandler.java:57) io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) io.undertow .security.handlers.AbstractConfidentialityHandler.handleRequest (AbstractConfidentialityHandler.java:46) io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest (ServletConfidentialityConstraintHandler.java:64) io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest (AuthenticationMechanismsHandler .java: 60) io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest (CachedAuthenticatedSessionHandler.java:77) io.undertow.security.handlers.No tificationReceiverHandler.handleRequest (NotificationReceiverHandler.java:50) io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest (AbstractSecurityContextAssociationHandler.java:43) io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) org .wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest (JACCContextIdHandler.java:61) io.undertow.server.handlers.PredicateHandler.handleRequest (PredicateHandler.java:43) io.undertow.server.handlers.PredicateHandler. handleRequest (PredicateHandler.java:43) io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest (ServletInitialHandler.java:284) io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest (ServletInitialHandler.java:263) io.undertow .servlet.handlers.ServletInitialHandler.access $ 000 (ServletInitialHandler.java:81) io.undertow.servlet.handlers.ServletInitialHandler $ 1.handleRequest (ServletInitialHandler.java:174) io.undertow.server.Connectors.executeRootHandler (Connectors.java : 202) io.un dertow.server.HttpServerExchange $ 1.run (HttpServerExchange.java:793) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) java.lang.Thread.run (Thread.java:745)
+1

Vous devez vous assurer que le chemin est en modules/javax/api/main/module.xml puis il suffit d'ajouter en tant que dépendance à votre module. –

+0

Salut, merci pour votre commentaire, J'ai essayé, mais en vain, je vais essayer encore une fois. –

+0

Oui, cela a fait l'affaire. –

Répondre

1

Vous semblez utiliser Ehcache 1. Cette version est vraiment vraiment vraiment vieux. Vous devriez au moins mettre à niveau vers Ehcache 2. Le dernier en date est Ehcache 3. Il est fort possible qu'Ehcache 1 ne soit pas compatible avec votre version Java actuelle et les dépendances de Wildfly.

+0

Déplacé à ehcache 2.9.0 et il fonctionne avec le projet java. Quand, je cours le même code dans une servlet avec Wildfly 10, il donne l'erreur suivante: Erreur de configuration de d: \ ehcache.xml. La cause initiale était Erreur de configuration du flux d'entrée. La cause initiale était __redirected .__ SAXParserFactory ne peut pas être converti en javax.xml.parsers.SAXParserFactory Devrais-je passer à la dernière version de EhCache 3.x ?? –

+0

Sans une trace de pile complète, c'est difficile à dire. Bien sûr, 3 est le meilleur :-) Selon ma supposition actuelle, vous avez des problèmes de classpath. Trop de dépendances SAX à différents niveaux. Pour contourner le problème, vous pouvez utiliser la configuration Ehcache 3 Java (au lieu de XML). – Henri

+0

Oui, Merci pour votre message. mettre à jour mon projet de jboss plus ancien à new jboss. Donc, je voulais déployer mon projet avec un minimum d'efforts.Mais il semble que je vais devoir mettre plus d'efforts .. :) Stacktrace ajouté à la question principale. Je vais essayer de résoudre les problèmes de classpath d'abord, puis passer à ehcache 3.x, en vain. –

0

Il a travaillé avec EHCache 3.3.1

  1. Put fichier ehcache-3.3.1.jar dans les modules wildfly10_HOME \ \ system couches \ \ base \ org \ ehcache \ principale

  2. Modifier le module .xml dans le dossier ci-dessus comme ci-dessous

  3. code:

Chaîne cacheName = "basicCacheNamit";

try (CacheManager cacheManager = newCacheManagerBuilder() 
    .withCache(cacheName, 
    newCacheConfigurationBuilder(Long.class, String.class, heap(100).offheap(1, MB))) 
    .build(true)) { 
    Cache<Long, String> basicCache = cacheManager.getCache(cacheName, Long.class, String.class); 


    basicCache.put(1L, "da one!"); 
    String value = basicCache.get(1L);