首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用通配符10的Ehcache配置

使用通配符10的Ehcache配置
EN

Stack Overflow用户
提问于 2017-05-10 07:51:27
回答 2查看 1.9K关注 0票数 3

尝试用ehcache.xml在wildfly10中实现ehcache

将ehcache.jar文件作为模块添加,并添加依赖项,如下所述:

代码语言:javascript
复制
   <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>

当我试图运行服务器war文件时,我会得到以下错误。

从d:\ehcache.xml中配置错误。最初的原因是输入流配置错误。最初的原因是__redirected.__SAXParserFactory不能转换为javax.xml.parsers.SAXParserFactory

任何线索都会有帮助。

StackTrace:

  • net.sf.ehcache.CacheException:从 d:\ehcache\ehcache.xml。最初的原因是配置错误 输入流最初的原因是__redirected.__SAXParserFactory 不能转换为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(SSLInformationAssociationHandler.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.NotificationReceiverHandler.handleRequest(( 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. NotificationReceiverHandler.java:50)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.undertow.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)
EN

回答 2

Stack Overflow用户

发布于 2017-05-15 14:39:38

您似乎使用了Ehcache 1,这个版本真的很老了。您至少应该升级到Ehcache 2,最新的版本是Ehcache 3,很可能Ehcache 1与当前的Java版本和通配符依赖项不兼容。

票数 2
EN

Stack Overflow用户

发布于 2017-05-18 10:12:37

它与EhCache 3.3.1一起工作

  1. 将ehcache-3.3.1.jar文件放入wildfly10_HOME\modules\system\layers\base\org\ehcache\main中
  2. 在上述文件夹中编辑module.xml,如下所示
  3. 代码:

字符串cacheName = "basicCacheNamit";

代码语言:javascript
复制
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);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43886501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档