【发布时间】:2014-05-05 15:12:48
【问题描述】:
我有一个基于 Lift 的 REST 应用程序。我的开发环境运行的是 SBT 内置的 Jetty 服务器,应用程序部署在 Tomcat 7 上。
我最近将 Ehcache 集成到我的设置中,丢弃了自定义缓存。它在我的 Jetty 开发服务器中完美运行。但是,当我部署到 tomcat 时,我的 Lift 应用程序提供的任何 URL 都会得到 404。除了日志中的 404 之外,据我所知,没有任何例外,也没有任何相关的日志项。
当我注释掉引用 Ehcache 的行并将其作为依赖项删除时,Tomcat 启动并正常工作并提供这些 url。我一取消 Ehcache 的注释,就又是 404 了。
有人知道发生了什么吗?我知道 Ehcache 使用 SLF4J 来记录,这是否会阻止 ehcache 错误出现在我的日志中?
build.sbt 的相关部分:
Seq(
"net.liftweb" %% "lift-webkit" % liftVersion % "compile",
"net.liftweb" %% "lift-mapper" % liftVersion % "compile",
"com.typesafe.slick" %% "slick" % "2.0.0-M3",
"org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container,test",
"org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container,test" artifacts Artifact("javax.servlet", "jar", "jar"),
"ch.qos.logback" % "logback-classic" % "1.0.6",
"org.specs2" %% "specs2" % "1.14" % "test",
"mysql" % "mysql-connector-java" % "5.1.25",
"net.sf.ehcache" % "ehcache" % "2.8.2",
"javax.transaction" % "transaction-api" % "1.1",
"org.slf4j" % "slf4j-simple" % "1.7.7"
)
ehcache.xml 的相关部分
<cache name="mycache"
maxEntriesLocalHeap="10000"
maxEntriesLocalDisk="1000"
eternal="false"
diskSpoolBufferSizeMB="20"
timeToIdleSeconds="21600"
timeToLiveSeconds="43200"
memoryStoreEvictionPolicy="LFU"
transactionalMode="off">
</cache>
任何帮助将不胜感激。提前致谢。
【问题讨论】: