public void message(byte[] pattern, byte[] channel, byte[] message) { listener.onMessage(new DefaultMessage(channel, message), pattern); }
public void onPMessage(byte[] pattern, byte[] channel, byte[] message) { listener.onMessage(new DefaultMessage(channel, message), pattern); }
public void message(byte[] channel, byte[] message) { listener.onMessage(new DefaultMessage(channel, message), null); }
public void onMessage(byte[] channel, byte[] message) { listener.onMessage(new DefaultMessage(channel, message), null); }
@Override public void onMessage(CharSequence channel, Object message) { DefaultMessage msg = new DefaultMessage(((ChannelName)channel).getName(), (byte[])message); getListener().onMessage(msg, null); } };
@Override public void onMessage(CharSequence channel, Object message) { DefaultMessage msg = new DefaultMessage(((ChannelName)channel).getName(), (byte[])message); getListener().onMessage(msg, null); } };
@Override public void onMessage(CharSequence channel, Object message) { DefaultMessage msg = new DefaultMessage(((ChannelName)channel).getName(), (byte[])message); getListener().onMessage(msg, null); } };
@Override public void onMessage(CharSequence channel, Object message) { DefaultMessage msg = new DefaultMessage(((ChannelName)channel).getName(), (byte[])message); getListener().onMessage(msg, null); } };
@Override public void onPatternMessage(CharSequence pattern, CharSequence channel, Object message) { DefaultMessage msg = new DefaultMessage(((ChannelName)channel).getName(), (byte[])message); getListener().onMessage(msg, ((ChannelName)pattern).getName()); } };
@Override public void onPatternMessage(CharSequence pattern, CharSequence channel, Object message) { DefaultMessage msg = new DefaultMessage(((ChannelName)channel).getName(), (byte[])message); getListener().onMessage(msg, ((ChannelName)pattern).getName()); } };
@Override public void onPatternMessage(CharSequence pattern, CharSequence channel, Object message) { DefaultMessage msg = new DefaultMessage(((ChannelName)channel).getName(), (byte[])message); getListener().onMessage(msg, ((ChannelName)pattern).getName()); } };
@Override public void onPatternMessage(CharSequence pattern, CharSequence channel, Object message) { DefaultMessage msg = new DefaultMessage(((ChannelName)channel).getName(), (byte[])message); getListener().onMessage(msg, ((ChannelName)pattern).getName()); } };
@Test public void onMessageDeletedInOtherDatabase() { JdkSerializationRedisSerializer serializer = new JdkSerializationRedisSerializer(); this.redisRepository.setApplicationEventPublisher(this.publisher); this.redisRepository.setDefaultSerializer(serializer); MapSession session = this.cached; String channel = "__keyevent@1__:del"; String body = "spring:session:sessions:expires:" + session.getId(); DefaultMessage message = new DefaultMessage( channel.getBytes(StandardCharsets.UTF_8), body.getBytes(StandardCharsets.UTF_8)); this.redisRepository.onMessage(message, "".getBytes(StandardCharsets.UTF_8)); assertThat(this.event.getAllValues()).isEmpty(); verifyZeroInteractions(this.publisher); }
@Test public void onMessageExpiredInOtherDatabase() { JdkSerializationRedisSerializer serializer = new JdkSerializationRedisSerializer(); this.redisRepository.setApplicationEventPublisher(this.publisher); this.redisRepository.setDefaultSerializer(serializer); MapSession session = this.cached; String channel = "__keyevent@1__:expired"; String body = "spring:session:sessions:expires:" + session.getId(); DefaultMessage message = new DefaultMessage( channel.getBytes(StandardCharsets.UTF_8), body.getBytes(StandardCharsets.UTF_8)); this.redisRepository.onMessage(message, "".getBytes(StandardCharsets.UTF_8)); assertThat(this.event.getAllValues()).isEmpty(); verifyZeroInteractions(this.publisher); }
@Test public void onMessageCreated() { MapSession session = this.cached; byte[] pattern = "".getBytes(StandardCharsets.UTF_8); String channel = "spring:session:event:0:created:" + session.getId(); JdkSerializationRedisSerializer defaultSerailizer = new JdkSerializationRedisSerializer(); this.redisRepository.setDefaultSerializer(defaultSerailizer); byte[] body = defaultSerailizer.serialize(new HashMap()); DefaultMessage message = new DefaultMessage( channel.getBytes(StandardCharsets.UTF_8), body); this.redisRepository.setApplicationEventPublisher(this.publisher); this.redisRepository.onMessage(message, pattern); verify(this.publisher).publishEvent(this.event.capture()); assertThat(this.event.getValue().getSessionId()).isEqualTo(session.getId()); }
@Test public void onMessageCreatedInOtherDatabase() { JdkSerializationRedisSerializer serializer = new JdkSerializationRedisSerializer(); this.redisRepository.setApplicationEventPublisher(this.publisher); this.redisRepository.setDefaultSerializer(serializer); MapSession session = this.cached; String channel = "spring:session:event:created:1:" + session.getId(); byte[] body = serializer.serialize(new HashMap()); DefaultMessage message = new DefaultMessage( channel.getBytes(StandardCharsets.UTF_8), body); this.redisRepository.onMessage(message, "".getBytes(StandardCharsets.UTF_8)); assertThat(this.event.getAllValues()).isEmpty(); verifyZeroInteractions(this.publisher); }
@Test // gh-309 public void onMessageCreatedCustomSerializer() { MapSession session = this.cached; byte[] pattern = "".getBytes(StandardCharsets.UTF_8); byte[] body = new byte[0]; String channel = "spring:session:event:0:created:" + session.getId(); given(this.defaultSerializer.deserialize(body)) .willReturn(new HashMap<String, Object>()); DefaultMessage message = new DefaultMessage( channel.getBytes(StandardCharsets.UTF_8), body); this.redisRepository.setApplicationEventPublisher(this.publisher); this.redisRepository.onMessage(message, pattern); verify(this.publisher).publishEvent(this.event.capture()); assertThat(this.event.getValue().getSessionId()).isEqualTo(session.getId()); verify(this.defaultSerializer).deserialize(body); }
@Test public void onMessageExpiredSessionFound() { String expiredId = "expired-id"; given(this.redisOperations.boundHashOps(getKey(expiredId))) .willReturn(this.boundHashOperations); Map map = map(RedisOperationsSessionRepository.MAX_INACTIVE_ATTR, 1, RedisOperationsSessionRepository.LAST_ACCESSED_ATTR, System.currentTimeMillis() - TimeUnit.MINUTES.toMillis(5)); given(this.boundHashOperations.entries()).willReturn(map); String channel = "__keyevent@0__:expired"; String body = "spring:session:sessions:expires:" + expiredId; DefaultMessage message = new DefaultMessage( channel.getBytes(StandardCharsets.UTF_8), body.getBytes(StandardCharsets.UTF_8)); this.redisRepository.setApplicationEventPublisher(this.publisher); this.redisRepository.onMessage(message, "".getBytes(StandardCharsets.UTF_8)); verify(this.redisOperations).boundHashOps(eq(getKey(expiredId))); verify(this.boundHashOperations).entries(); verify(this.publisher).publishEvent(this.event.capture()); assertThat(this.event.getValue().getSessionId()).isEqualTo(expiredId); verifyZeroInteractions(this.defaultSerializer); verifyZeroInteractions(this.publisher); verifyZeroInteractions(this.redisOperations); verifyZeroInteractions(this.boundHashOperations); }
@Test public void onMessageDeletedSessionFound() { String deletedId = "deleted-id"; given(this.redisOperations.boundHashOps(getKey(deletedId))) .willReturn(this.boundHashOperations); Map map = map(RedisOperationsSessionRepository.MAX_INACTIVE_ATTR, 0, RedisOperationsSessionRepository.LAST_ACCESSED_ATTR, System.currentTimeMillis() - TimeUnit.MINUTES.toMillis(5)); given(this.boundHashOperations.entries()).willReturn(map); String channel = "__keyevent@0__:del"; String body = "spring:session:sessions:expires:" + deletedId; DefaultMessage message = new DefaultMessage( channel.getBytes(StandardCharsets.UTF_8), body.getBytes(StandardCharsets.UTF_8)); this.redisRepository.setApplicationEventPublisher(this.publisher); this.redisRepository.onMessage(message, "".getBytes(StandardCharsets.UTF_8)); verify(this.redisOperations).boundHashOps(eq(getKey(deletedId))); verify(this.boundHashOperations).entries(); verify(this.publisher).publishEvent(this.event.capture()); assertThat(this.event.getValue().getSessionId()).isEqualTo(deletedId); verifyZeroInteractions(this.defaultSerializer); verifyZeroInteractions(this.publisher); verifyZeroInteractions(this.redisOperations); verifyZeroInteractions(this.boundHashOperations); }
@Test public void onMessageDeletedSessionNotFound() { String deletedId = "deleted-id"; given(this.redisOperations.boundHashOps(getKey(deletedId))) .willReturn(this.boundHashOperations); given(this.boundHashOperations.entries()).willReturn(map()); String channel = "__keyevent@0__:del"; String body = "spring:session:sessions:expires:" + deletedId; DefaultMessage message = new DefaultMessage( channel.getBytes(StandardCharsets.UTF_8), body.getBytes(StandardCharsets.UTF_8)); this.redisRepository.setApplicationEventPublisher(this.publisher); this.redisRepository.onMessage(message, "".getBytes(StandardCharsets.UTF_8)); verify(this.redisOperations).boundHashOps(eq(getKey(deletedId))); verify(this.boundHashOperations).entries(); verifyZeroInteractions(this.defaultSerializer); verifyZeroInteractions(this.publisher); verifyZeroInteractions(this.redisOperations); verifyZeroInteractions(this.boundHashOperations); }