|
|
@ -14,15 +14,31 @@ Going forward, we no need to enable sticky session (JSESSIONID) in Load Balancer
|
|
|
|
- Apache Tomcat 7
|
|
|
|
- Apache Tomcat 7
|
|
|
|
- Apache Tomcat 8
|
|
|
|
- Apache Tomcat 8
|
|
|
|
- Apache Tomcat 9
|
|
|
|
- Apache Tomcat 9
|
|
|
|
|
|
|
|
- Apache Tomcat 10
|
|
|
|
|
|
|
|
|
|
|
|
## Downloads: [](https://github.com/ran-jit/tomcat-cluster-redis-session-manager/wiki)
|
|
|
|
## Downloads: [](https://github.com/ran-jit/tomcat-cluster-redis-session-manager/wiki)
|
|
|
|
- [latest version (3.0.4)](https://github.com/ran-jit/tomcat-cluster-redis-session-manager/releases/tag/3.0.4)
|
|
|
|
- [latest version (4.0)](https://github.com/ran-jit/tomcat-cluster-redis-session-manager/releases/tag/4.0)
|
|
|
|
- [older versions](https://github.com/ran-jit/tomcat-cluster-redis-session-manager/wiki)
|
|
|
|
- [older versions](https://github.com/ran-jit/tomcat-cluster-redis-session-manager/wiki)
|
|
|
|
|
|
|
|
|
|
|
|
<p align="center">
|
|
|
|
<p align="center">
|
|
|
|
<a href="https://paypal.me/ranmanic1" target="_blank"><img alt="Donate" height="30%" width="30%" src="https://github.com/ran-jit/tomcat-cluster-redis-session-manager/blob/master/src/main/resources/donate.png"></a>
|
|
|
|
<a href="https://www.buymeacoffee.com/ranmanic" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-red.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Maven configuration
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
<repository>
|
|
|
|
|
|
|
|
<id>repsy</id>
|
|
|
|
|
|
|
|
<name>tomcat-cluster-redis-session-manager-repo</name>
|
|
|
|
|
|
|
|
<url>https://repo.repsy.io/mvn/ranmanic/tomcat-session-manager</url>
|
|
|
|
|
|
|
|
</repository>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<dependency>
|
|
|
|
|
|
|
|
<groupId>tomcat-session-manager</groupId>
|
|
|
|
|
|
|
|
<artifactId>redis</artifactId>
|
|
|
|
|
|
|
|
<version>4.0</version>
|
|
|
|
|
|
|
|
</dependency>
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
#### Pre-requisite:
|
|
|
|
#### Pre-requisite:
|
|
|
|
1. jedis.jar
|
|
|
|
1. jedis.jar
|
|
|
|
2. commons-pool2.jar
|
|
|
|
2. commons-pool2.jar
|
|
|
@ -33,23 +49,33 @@ more details.. https://github.com/ran-jit/tomcat-cluster-redis-session-manager/w
|
|
|
|
|
|
|
|
|
|
|
|
#### Steps to be done,
|
|
|
|
#### Steps to be done,
|
|
|
|
1. Copy the downloaded jars to your tomcat/lib directory.
|
|
|
|
1. Copy the downloaded jars to your tomcat/lib directory.
|
|
|
|
- **tomcat/lib/**
|
|
|
|
```
|
|
|
|
|
|
|
|
tomcat/lib/
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
2. Add tomcat system property "catalina.base".
|
|
|
|
2. Add tomcat system property "catalina.base".
|
|
|
|
- **catalina.base="TOMCAT_LOCATION"**
|
|
|
|
```
|
|
|
|
* example: env "catalina.base=/opt/tomcat" bash
|
|
|
|
catalina.base="TOMCAT_LOCATION"
|
|
|
|
|
|
|
|
example: env "catalina.base=/opt/tomcat" bash
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
3. Copy the redis-data-cache.properties file to your tomcat/conf directory and update your Redis server details.
|
|
|
|
3. Copy the redis-data-cache.properties file to your tomcat/conf directory and update your Redis server details.
|
|
|
|
- **tomcat/conf/redis-data-cache.properties**
|
|
|
|
```
|
|
|
|
|
|
|
|
tomcat/conf/redis-data-cache.properties
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
4. Add the below two lines in your tomcat/conf/context.xml file.
|
|
|
|
4. Add the below two lines in your tomcat/conf/context.xml file.
|
|
|
|
- **<Valve className="tomcat.request.session.redis.SessionHandlerValve" />**
|
|
|
|
```
|
|
|
|
- **<Manager className="tomcat.request.session.redis.SessionManager" />**
|
|
|
|
<Valve className="tomcat.request.session.redis.SessionHandlerValve" />
|
|
|
|
|
|
|
|
<Manager className="tomcat.request.session.redis.SessionManager" />
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
5. Verify the session expiration time in tomcat/conf/web.xml file.
|
|
|
|
5. Verify the session expiration time in tomcat/conf/web.xml file.
|
|
|
|
- **<session-config>**
|
|
|
|
```
|
|
|
|
- **<session-timeout>60</session-timeout>**
|
|
|
|
<session-config>
|
|
|
|
- **</session-config>**
|
|
|
|
<session-timeout>60</session-timeout>
|
|
|
|
|
|
|
|
</session-config>
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Note:
|
|
|
|
### Note:
|
|
|
|
- **All your session attribute values must implement java.io.Serializable.**
|
|
|
|
- **All your session attribute values must implement java.io.Serializable.**
|
|
|
@ -67,7 +93,8 @@ more details.. https://github.com/ran-jit/tomcat-cluster-redis-session-manager/w
|
|
|
|
<tr><td>redis.sentinel.enabled</td><td>To enable redis sentinel mode<br/>- default: false<br>- supported values: true/false</td></tr>
|
|
|
|
<tr><td>redis.sentinel.enabled</td><td>To enable redis sentinel mode<br/>- default: false<br>- supported values: true/false</td></tr>
|
|
|
|
<tr><td>redis.sentinel.master</td><td>Redis sentinel master name<br/>- default: mymaster</td></tr>
|
|
|
|
<tr><td>redis.sentinel.master</td><td>Redis sentinel master name<br/>- default: mymaster</td></tr>
|
|
|
|
<tr><td>lb.sticky-session.enabled</td><td>To enable redis and standard session mode<br><br>If enabled,<ol><li>Must be enabled sticky session in your load balancer configuration. Else this manager may not return the updated session values</li><li>Session values are stored in local jvm and redis</li><li>If redis is down/not responding, requests uses jvm stored session values to process user requests. Redis comes back the values will be synced</li></ol>- default: false</td></tr>
|
|
|
|
<tr><td>lb.sticky-session.enabled</td><td>To enable redis and standard session mode<br><br>If enabled,<ol><li>Must be enabled sticky session in your load balancer configuration. Else this manager may not return the updated session values</li><li>Session values are stored in local jvm and redis</li><li>If redis is down/not responding, requests uses jvm stored session values to process user requests. Redis comes back the values will be synced</li></ol>- default: false</td></tr>
|
|
|
|
<tr><td>session.persistent.policies</td><td>session persistent policies.<br/><br/>- policies - DEFAULT, SAVE_ON_CHANGE, ALWAYS_SAVE_AFTER_REQUEST <br/><ol><li>SAVE_ON_CHANGE: every time session.setAttribute() or session.removeAttribute() is called the session will be saved.</li><li>ALWAYS_SAVE_AFTER_REQUEST: force saving after every request, regardless of whether or not the manager has detected changes to the session.</li></ol>- default: DEFAULT</td></tr>
|
|
|
|
<tr><td>session.persistent.policies</td><td>session persistent policies.<br/><br/>- policies - DEFAULT, SAVE_ON_CHANGE, ALWAYS_SAVE_AFTER_REQUEST <br/><ol><li>SAVE_ON_CHANGE: every time session.setAttribute() or session.removeAttribute() is called the session will be saved.</li><li>ALWAYS_SAVE_AFTER_REQUEST: force saving after every request, regardless of whether or not the manager has detected changes to the session.</li></ol>- default: DEFAULT</td></tr>
|
|
|
|
|
|
|
|
<tr><td>redis.sso.timeout</td><td>single-sign-on session timeout.<br/>- default: 0 ms (-no expiry)</td></tr>
|
|
|
|
</table>
|
|
|
|
</table>
|
|
|
|
</body>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
</html>
|
|
|
|