centOS下整合Tomcat和redis

读下面内容时,假设你已经能够进行Linux、tomcat、redis、git、gradle的安装和基本使用,如果不会使用以上系统/软件,请先学习。


俗话说:万事开头难,就像学习一门语言会先学习一个hello word一样,环境的整合也要先学会整合,然后才是去使用,而整合又是最难的,因为如果是新手没有经验的话很容易整合失败,官方的说明大多是英文的,不利于阅读,而百度出来的很多都不能用,都是作者没有经过试验就转载的,所以会误导很多人。所以博主就决定简单讲解下centOS下的tomcat和redis的整合。


环境:centOS7.0,JDK1.7,tomcat7.0

工具:git、gradle



tomcat整合redis需要三个jar包,分别是tomcat-redis-session-manager.jar、jedis-2.5.2.jar、commons-pool2-2.2.jar这三个包,其中tomcat-redis-session-manager.jar这个包官方没有提供,但是提供的有这个项目,可以用这个项目自己生成jar包(最好不要从网上非官方的其他地方下,因为那样下载的包不一定能用),这个项目的github的地址是https://github.com/jcoleman/tomcat-redis-session-manager,把这个项目下载下来后使用gradle构建项目生成jar,需要注意的就是需要把项目根目录下的build.gradle稍微更改一下,把apply plugin: 'signing'这一行删除,还有下边对应的signing {sign configurations.archives}删除,然后生成jar,构建完成后根目录下会有个build文件夹,在里边找到tomcat-redis-session-manager.jar(很好找的),将这个jar包复制进tomcat的lib目录下,然后还需要jedis-2.5.2.jar、commons-pool2-2.2.jar这两个包,这两个包不需要另外下载了,因为刚才构建是gradle已经自动帮你下载了,就在gradle的cache目录下,我是在Windows下构建的,这个默认的目录路径就在C:\Users\用户名\.gradle\caches\modules-2\files-2.1这个文件夹下,你们自己找下,然后里边会有一个redis.clients文件夹,这个文件夹里边放的有jedis.jar,同样复制到tomcat的lib下,然后还有一个org.apache.commons文件夹,这个里边有commons-pool2.jar,把这个jar包也放进tomcat的lib中去,这样整合所需要的包就完成了。



以上步骤完成,基本上就算完成了,只剩下最后一步,配置tomcat让redis管理其session。这一步也不难,官方说明:Add the following into your Tomcat context.xml (or the context block of the server.xml if applicable.),翻译过来就是把下面的配置添加到tomcat的comf目录下的context.xml文件或者server.xml文件中去,这个配置就是


         host="localhost"
         port="6379"
         database="0"
         maxInactiveInterval="60"
         sessionPersistPolicies="PERSIST_POLICY_1,PERSIST_POLICY_2,.."
         sentinelMaster="SentinelMasterName"
         sentinels="sentinel-host-1:port,sentinel-host-2:port,.." />


注意:value必须在manager前边,也就是要先添加value,再添加manager。


到这里tomcat整合redis就完毕了,剩下的就是测试了,启动redis,然后启动tomcat,然后查看redis(使用redis-cli进入redis控制台,然后使用keys *查看,注意keys后边有空格),此时里边是没有任何东西的,然后随便访问一个tomcat上的应用的页面使其生成一个session,这时再去查看redis,如果里边多了一个session的值说明整合成功,如果没有,说明失败,再仔细阅读下步骤看是哪一步错了,然后重新来。


水平有限,难免有些瑕疵,欢迎各位大神指正,谢谢。另外实在不知道如何生成那些jar包的可以找博主要,博主QQ1213812243

















你可能感兴趣的:(J2EE)