2017-05-10 5 views
1

Versuch ehcache mit ehcache.xml in wildfly10Ehcache Konfiguration mit Wildfly 10

Hinzugefügt ehcache.jar Datei als Modul und hinzugefügt Abhängigkeiten zu implementieren, wie unten erwähnt:

<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> 

Ich bin Bekomme Fehler, wenn ich versuche, die Server War-Datei auszuführen.

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

Jede Ableitung ist hilfreich.

Stacktrace:

  • net.sf.ehcache.CacheException: Fehler von
    d konfigurieren: \ ehcache \ ehcache.xml. Ursprüngliche Ursache war die Fehlerkonfiguration von
    Eingangsstrom. Erste Ursache wurde __redirected .__ SAXParserFactory
    nicht
    net.sf.ehcache.config.ConfigurationFactory.parseConfiguration (ConfigurationFactory.java:80) net.sf.ehcache.CacheManager.parseConfiguration zu javax.xml.parsers.SAXParserFactory gegossen werden (. 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. handle (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.underow.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

Sie müssen sicherstellen, dass der Weg in modules/javax ist/api/main/module.xml und dann fügen Sie einfach als eine Abhängigkeit zu Ihrem Modul. –

+0

Hallo, danke für deinen Kommentar, Ich habe das versucht, aber vergebens, ich werde es noch einmal versuchen. –

+0

Ja, das hat den Trick gemacht. –

Antwort

1

Sie scheinen Ehcache 1. Diese Version wirklich wirklich wirklich alt zu bedienen ist. Sie sollten zumindest auf Ehcache 2 upgraden. Das Neueste ist Ehcache 3. Es ist sehr gut möglich, dass Ehcache 1 nicht mit Ihrer aktuellen Java-Version und den Wildfly-Abhängigkeiten kompatibel ist.

+0

Bewegte zu ehcache 2.9.0 und es funktioniert mit Java-Projekt. Wenn ich denselben Code in einem Servlet mit Wildfly 10 ausführe, gibt es den folgenden Fehler: Fehler beim Konfigurieren von d: \ ehcache.xml. Die ursprüngliche Ursache war Fehler beim Konfigurieren des Eingabestreams. Ursprüngliche Ursache war __redirected .__ SAXParserFactory kann nicht in javax.xml.parsers.SAXParserFactory umgewandelt werden Sollte ich nur auf den neuesten EhCache 3.x verschieben? –

+0

Ohne eine vollständige Stack-Trace ist es schwer zu sagen. Natürlich ist 3 das Beste :-) Nach meiner jetzigen Einschätzung haben Sie Probleme mit dem Klassenpfad. Zu viele SAX-Abhängigkeiten auf verschiedenen Ebenen. Um das Problem zu umgehen, können Sie die Ehcache 3-Java-Konfiguration (anstelle von XML) verwenden. – Henri

+0

Ja, Danke für Ihren Beitrag. mein Projekt von älterem jboss zu neuem jboss aufwerten. Also, wollte mein Projekt in minimalen Anstrengungen bereitstellen.Aber es scheint, dass ich mehr Anstrengungen machen muss .. :) Stacktrace zur Hauptfrage hinzugefügt. Wird versuchen, Klassenpfadprobleme zuerst aufzulösen und dann zu ehcache 3.x, wenn vergeblich. –

0

Es funktionierte mit ehcache 3.3.1

  1. Put ehcache-3.3.1.jar Datei in wildfly10_HOME \ modules \ system \ Schichten \ base \ org \ ehcache \ main

  2. Modul bearbeiten .xml in dem obigen Ordner wie unter

  3. Code:

String 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);