File tree Expand file tree Collapse file tree 1 file changed +11
-5
lines changed
src/main/java/com/github/mkopylec/sessioncouchbase/data Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change 66import org .springframework .scheduling .concurrent .ThreadPoolTaskScheduler ;
77
88import java .util .HashMap ;
9+ import java .util .Iterator ;
910import java .util .Map ;
11+ import java .util .Map .Entry ;
1012import java .util .Set ;
1113import java .util .concurrent .ConcurrentHashMap ;
1214
@@ -110,11 +112,15 @@ public void deleteAll() {
110112 @ Override
111113 public void afterPropertiesSet () throws Exception {
112114 expirationScheduler .initialize ();
113- expirationScheduler .scheduleAtFixedRate (() -> expirationTimes .forEach ((documentId , expirationTime ) -> {
114- if (expirationTime < currentTimeMillis ()) {
115- sessions .remove (documentId );
116- principalSessions .remove (documentId );
115+ expirationScheduler .scheduleAtFixedRate (() -> {
116+ for (Iterator <Entry <String , Long >> iter = expirationTimes .entrySet ().iterator (); iter .hasNext (); ) {
117+ Entry <String , Long > entry = iter .next ();
118+ if (entry .getValue () < currentTimeMillis ()) {
119+ sessions .remove (entry .getKey ());
120+ principalSessions .remove (entry .getKey ());
121+ iter .remove ();
122+ }
117123 }
118- }) , 1000 );
124+ }, 1000 );
119125 }
120126}
You can’t perform that action at this time.
0 commit comments