redis实现session共享问题

520920 发布于 2015/12/09 17:16
阅读 1K+
收藏 2

背景:

需求是:redis实现session共享!

操作步骤:根据网上的文章我去网上下载了三个jar包:commons-pool(1.X 2.X的都试过了,同样的问题)

jedis-2.7.2.jar和 tomcat-redis-session.jar(网上下载的还有自己打包的也都试过了,同样的问题)

然后修改了tomcat下的conf文件夹下的context.xml

<!--add -->
< Valve className="com.radiadesign.catalina.session.RedisSessionHandlerValve" />

<Manager className="com.radiadesign.catalina.session.RedisSessionManager"

         host="127.0.0.1"

         port="6379"

         database="0"

         maxInactiveInterval="1800"  />
< !--end -->

问题

严重: Begin event threw exception
java.lang.ClassNotFoundException: com.radiadesign.catalina.session.RedisSessionHandlerValve
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:204)
        at org.apache.tomcat.util.digester.Rule.begin(Rule.java:152)
        at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1376)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2786)

报这个问题的原因是redis-tomcat-session-manager.jar这个跟tomcat的版本不匹配,如果使用的是tomcat6 就要找redis-tomcat-session-manager-tomcat6的版本。

我出这个问题是将tomcat7的版本放的了tomcat6中……因此启动tomcat报错了!

加载中
返回顶部
顶部