Commit Graph

70 Commits (53e4c223d674cc59e2301f89e2dde22b29bea83d)

Author SHA1 Message Date
Nikita Koksharov 4c76960ae4
Merge pull request #2179 from jchobantonov/master
UpdateValve should be installed only once, remove MessageListener from topic when SessionManager stopInternal is invoked #2178
6 years ago
Nikita Koksharov 68d9ede5b9 Fixed - RedissonSession.setAttribute method doesn't check the value for null #2187 (thanks to jchobantonov) 6 years ago
Zhelyazko Chobantonov 90fe8687a6 do not check for instanceof RedissonSessionManager 6 years ago
Zhelyazko Chobantonov 442d00b180 use isEmpty() 6 years ago
Zhelyazko Chobantonov 22c1332e29 format 6 years ago
Zhelyazko Chobantonov 77055134c2 initialize updateValve only once 6 years ago
Zhelyazko Chobantonov 772e2b9dab UpdateValve should be installed only once, remove MessageListener from topic when SessionManager stopInternal is invoked #2178 6 years ago
Nikita Koksharov 2dc424c665 Fixed - Tomcat Session doesn't expire if broadcastSessionEvents = true #2104 6 years ago
Nikita Koksharov 9f886d6e5e Fixed - Tomcat Session doesn't expire if broadcastSessionEvents = true #2104 6 years ago
Nikita Koksharov b10e8c559c Fixed - HttpSessionListener#sessionDestoyed isn't invoked if session wasn't loaded by Tomcat instance. #2104 6 years ago
Zhelyazko Chobantonov c281910669 UpdateValve needs to execute manager.store only once at the end of the request #2084 6 years ago
Zhelyazko Chobantonov 2d08717e43 Use codec that is classloader aware fix for #2071 6 years ago
Zhelyazko Chobantonov 7406b524c6 do not use isExists() method on RMap just get the map and check if the map is not empty 6 years ago
Zhelyazko Chobantonov 7a92208f0a when using findSession check if the session exists in Redis first before creating a new one - a fix for #2019 6 years ago
Zhelyazko Chobantonov 9ab8fb1ded Remove UpdateValve from pipeline in RedissonSessionManager stopInternal method - resolves #2046
Execute UpdateValve's store session within application classloader - resolves #2047
6 years ago
Zhelyazko Chobantonov 263871f3a5 Remove UpdateValve from pipeline in RedissonSessionManager stopInternal method - resolves #2046
Execute UpdateValve's store session within application classloader - resolves #2047
6 years ago
Nikita Koksharov b88765b8a6 Fixed - session parameters aren't updated completely in readMode=MEMORY #2020 6 years ago
Nikita Koksharov ebf9f42e63 Feature - broadcastSessionEvents setting added to Tomcat Session Manager. #1595 6 years ago
Nikita Koksharov 7dda76261d Fixed NPE in RedissonSession #1971 6 years ago
Nikita Koksharov 4b023aa341 Fixed - Tomcat Session Manager doesn't remove session attributes in updateMode=AFTER_REQUEST. #1971 6 years ago
Nikita Koksharov ee51283731 Fixed - codec provided in Redisson configuration should be used for attribute messages serialization. #1905 6 years ago
Nikita Koksharov d8ae21e540 Fixed - ClassNotFoundException is thrown by Tomcat Session Manager in readMode = MEMORY #1959 6 years ago
Nikita Koksharov d5ee9a728b Fixed - fresh Tomcat instance unable to load session stored in Redis. #1558 6 years ago
David Nouls 9afe9d26be Allow tomcat RedissonSessionManager to support async servlets 6 years ago
Nikita Koksharov 31dfbdbcf2 Fixed - NPE arise during Tomcat Session getAttribute/delete methods invocation.
getAttributeNames and getValueNames methods implementation. #1874
6 years ago
Nikita Koksharov ce8a8eb791 Fixed - JndiRedissonSessionManager shouldn't shutdown Redisson instance. #1872 6 years ago
Nikita Koksharov 9d3d4a8562 License header updated 6 years ago
Nikita Koksharov 6531573603 Improvement - Tomcat Session recycle method implementation 6 years ago
Nikita Koksharov 79e03e13aa Fixed - Getting java.lang.ClassNotFoundException if same Redisson instance used in tomcat and application. #1668 6 years ago
Nikita Koksharov ae14dba2fc Fixed - RedissonSessionManager throws java.lang.ClassNotFoundException if readMode=MEMORY #1867 6 years ago
Nikita Koksharov 959fad1771 Fixed - Tomcat Session expires in Redis earlier than scheduled by Tomcat. #1861 6 years ago
Nikita Koksharov 4fbaa1bfeb Fixed - RedissonSession.getAttribute throws NPE #1859 6 years ago
Nikita Koksharov 20ef832ef6 Improvement - Tomcat Session key encoding changed to String 6 years ago
Nikita Koksharov ba6b9fdbfc Improvement - return null if session object couldn't be parsed. #1773 6 years ago
Nikita Koksharov 5095cd7fa7 refactoring 6 years ago
Nikita Koksharov e4ba9eaf09 Feature - JndiRedissonFactory and JndiRedissonSessionManager added. #1819 6 years ago
Alex 98edad84b1 [tomcat] Apply `keyPrefix` to both session and top keys
I was testing out different codecs in different environments connected to the same redis instance.  I provided a different `keyPrefix` in `context.xml` to prevent one environment's codec from messing with another environment's session management.  However, since the `keyPrefix` is only applied to the session contents themselves and not the topic subscription, codec errors were still present and causing a lot of log spew.

I expected `keyPrefix` to apply not only to the session contents but also to the topic updates, so I'm publishing this PR to see if you guys agree.

Here are example of updates for two different codecs with two different `keyPrefix` BEFORE this commit is applied.
```+1544721052.037348 [0 10.0.1.184:40588] "publish" "redisson:tomcat_session_updates:" "{\"@class\":\"org.redisson.tomcat.AttributesPutAllMessage\",\"attrs\":{\"@class\":\"java.util.HashMap\",\"session:thisAccessedTime\":[\"java.lang.Long\",1544721052035],\"session:isNew\":true,\"session:lastAccessedTime\":[\"java.lang.Long\",1544721052035],\"session:maxInactiveInterval\":3600,\"session:isValid\":true,\"session:creationTime\":[\"java.lang.Long\",1544721052035]},\"nodeId\":\"a2a9d075-4b40-4ea4-a8f4-174cb8caaa08\",\"sessionId\":\"1D83362C925593187FB081FE63BD14D0\"}"```

```+1544721052.300687 [0 10.0.0.213:55652] "publish" "redisson:tomcat_session_updates:" "\xac\xed\x00\x05sr\x00*org.redisson.tomcat.AttributeUpdateMessage\x04\x81\x81\xaa!\xb5\xabE\x02\x00\x02L\x00\x04namet\x00\x12Ljava/lang/String;L\x00\x05valuet\x00\x12Ljava/lang/Object;xr\x00$org.redisson.tomcat.AttributeMessage_\xc4\xf5\xe6~\xa9v\xa3\x02\x00\x02L\x00\x06nodeIdq\x00~\x00\x01L\x00\tsessionIdq\x00~\x00\x01xpt\x00$178c19c3-a5d5-4152-bf99-72c5102c0addt\x00 1CAE476D1DCC75948E8DBD7BCA48FF16t\x00\rsession:isNewsr\x00\x11java.lang.Boolean\xcd r\x80\xd5\x9c\xfa\xee\x02\x00\x01Z\x00\x05valuexp\x00"```
6 years ago
Nikita 731234707e Feature - multi type listeners support for RTopic object. #731 6 years ago
Yasin Koyuncu c0e06ec39f Restore headers 6 years ago
Yasin Koyuncu 30f361b775 Fix tomcat session replication issue #1414 6 years ago
Nikita c6269509c7 refactoring 7 years ago
Nikita d5e0e6e97e MessageListener method signature fixed 7 years ago
Nikita 2c05c92006 Fixed - ClassNotFoundException arise in Tomcat session manager #1454 7 years ago
Nikita bb491f60f1 Fixed - ClassNotFoundException arise in Tomcat session manager #1454 7 years ago
Nikita fe79bbf5f2 Serializable interface added AttributeMessage 7 years ago
Nikita a4b4c38a70 replication for Tomcat sessions located in memory. #1414 7 years ago
Faisal Ahmed b0381de67a fixed missing colon problem in user defined key prefix. 7 years ago
Faisal Ahmed 51eaa2a474 changed "keySpace" property name to "keyPrefix" 7 years ago
Faisal Ahmed 577ea99818 Added mechanism to configure tomcat session key prefix. 7 years ago
Nikita dfa3b4c2dd Copyright updated 7 years ago