Merge branch 'master' into 3.0.0

# Conflicts:
#	redisson/src/main/java/org/redisson/spring/session/RedissonSessionRepository.java
pull/1833/head
Nikita Koksharov 6 years ago
commit bb17e021b1

@ -172,7 +172,7 @@ public class RedissonExecutorService implements RScheduledExecutorService {
tasksCounterName = objectName + ":counter"; tasksCounterName = objectName + ":counter";
tasksName = objectName + ":tasks"; tasksName = objectName + ":tasks";
statusName = objectName + ":status"; statusName = objectName + ":status";
terminationTopic = redisson.getTopic(objectName + ":termination-topic", codec); terminationTopic = redisson.getTopic(objectName + ":termination-topic", LongCodec.INSTANCE);
tasksRetryIntervalName = objectName + ":retry-interval"; tasksRetryIntervalName = objectName + ":retry-interval";
schedulerChannelName = objectName + ":scheduler-channel"; schedulerChannelName = objectName + ":scheduler-channel";
@ -539,15 +539,15 @@ public class RedissonExecutorService implements RScheduledExecutorService {
} }
final CountDownLatch latch = new CountDownLatch(1); final CountDownLatch latch = new CountDownLatch(1);
MessageListener<Integer> listener = new MessageListener<Integer>() { MessageListener<Long> listener = new MessageListener<Long>() {
@Override @Override
public void onMessage(CharSequence channel, Integer msg) { public void onMessage(CharSequence channel, Long msg) {
if (msg == TERMINATED_STATE) { if (msg == TERMINATED_STATE) {
latch.countDown(); latch.countDown();
} }
} }
}; };
int listenerId = terminationTopic.addListener(Integer.class, listener); int listenerId = terminationTopic.addListener(Long.class, listener);
if (isTerminated()) { if (isTerminated()) {
terminationTopic.removeListener(listenerId); terminationTopic.removeListener(listenerId);

@ -24,6 +24,7 @@ import java.util.concurrent.ExecutorService;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.codec.DefaultReferenceCodecProvider; import org.redisson.codec.DefaultReferenceCodecProvider;
import org.redisson.codec.FstCodec;
import org.redisson.codec.JsonJacksonCodec; import org.redisson.codec.JsonJacksonCodec;
import org.redisson.codec.ReferenceCodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.connection.ConnectionManager; import org.redisson.connection.ConnectionManager;
@ -111,6 +112,7 @@ public class Config {
if (oldConf.getCodec() == null) { if (oldConf.getCodec() == null) {
// use it by default // use it by default
oldConf.setCodec(new JsonJacksonCodec()); oldConf.setCodec(new JsonJacksonCodec());
// oldConf.setCodec(new FstCodec());
} }
setUseScriptCache(oldConf.isUseScriptCache()); setUseScriptCache(oldConf.isUseScriptCache());

@ -135,6 +135,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
String port = map.get("port"); String port = map.get("port");
String host = createAddress(ip, port); String host = createAddress(ip, port);
log.info("sentinel: {} added", host);
URI sentinelAddr = URIBuilder.create(host); URI sentinelAddr = URIBuilder.create(host);
RFuture<Void> future = registerSentinel(sentinelAddr, this.config); RFuture<Void> future = registerSentinel(sentinelAddr, this.config);
connectionFutures.add(future); connectionFutures.add(future);

@ -259,7 +259,7 @@ public class RedissonSessionRepository implements FindByIndexNameSessionReposito
} }
String id = body.split(":")[1]; String id = body.split(":")[1];
RedissonSession session = new RedissonSession(id); RedissonSession session = new RedissonSession(keyPrefix, id);
if (session.load()) { if (session.load()) {
session.clearPrincipal(); session.clearPrincipal();
} }
@ -270,7 +270,7 @@ public class RedissonSessionRepository implements FindByIndexNameSessionReposito
} }
String id = body.split(":")[1]; String id = body.split(":")[1];
RedissonSession session = new RedissonSession(id); RedissonSession session = new RedissonSession(keyPrefix, id);
if (session.load()) { if (session.load()) {
session.clearPrincipal(); session.clearPrincipal();
} }
@ -306,7 +306,7 @@ public class RedissonSessionRepository implements FindByIndexNameSessionReposito
@Override @Override
public RedissonSession findById(String id) { public RedissonSession findById(String id) {
RedissonSession session = new RedissonSession(id); RedissonSession session = new RedissonSession(keyPrefix, id);
if (!session.load() || session.isExpired()) { if (!session.load() || session.isExpired()) {
return null; return null;
} }

@ -21,7 +21,7 @@ public class RedissonBucketTest extends BaseTest {
public void testSizeInMemory() { public void testSizeInMemory() {
RBucket<Integer> al = redisson.getBucket("test"); RBucket<Integer> al = redisson.getBucket("test");
al.set(1234); al.set(1234);
assertThat(al.sizeInMemory()).isEqualTo(49); assertThat(al.sizeInMemory()).isEqualTo(55);
} }
@Test @Test

@ -19,6 +19,7 @@ import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RScript; import org.redisson.api.RScript;
import org.redisson.client.codec.LongCodec;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -96,7 +97,7 @@ public class RedissonFairLockTest extends BaseConcurrentTest {
Assert.fail("Lock should have been unlocked by now"); Assert.fail("Lock should have been unlocked by now");
} }
//check the timeout scores - they should all be within a reasonable amount of time from now //check the timeout scores - they should all be within a reasonable amount of time from now
List<Long> queue = redisson.getScript().eval(RScript.Mode.READ_ONLY, List<Long> queue = redisson.getScript(LongCodec.INSTANCE).eval(RScript.Mode.READ_ONLY,
"local result = {}; " + "local result = {}; " +
"local timeouts = redis.call('zrange', KEYS[1], 0, 99, 'WITHSCORES'); " + "local timeouts = redis.call('zrange', KEYS[1], 0, 99, 'WITHSCORES'); " +
"for i=1,#timeouts,2 do " + "for i=1,#timeouts,2 do " +

@ -52,16 +52,16 @@ public class RedissonScriptTest extends BaseTest {
@Test @Test
public void testEval() { public void testEval() {
RScript script = redisson.getScript(); RScript script = redisson.getScript(StringCodec.INSTANCE);
List<Object> res = script.eval(RScript.Mode.READ_ONLY, "return {1,2,3.3333,'\"foo\"',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList()); List<Object> res = script.eval(RScript.Mode.READ_ONLY, "return {'1','2','3.3333','foo',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList());
assertThat(res).containsExactly(1L, 2L, 3L, "foo"); assertThat(res).containsExactly("1", "2", "3.3333", "foo");
} }
@Test @Test
public void testEvalAsync() { public void testEvalAsync() {
RScript script = redisson.getScript(); RScript script = redisson.getScript(StringCodec.INSTANCE);
RFuture<List<Object>> res = script.evalAsync(RScript.Mode.READ_ONLY, "return {1,2,3.3333,'\"foo\"',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList()); RFuture<List<Object>> res = script.evalAsync(RScript.Mode.READ_ONLY, "return {'1','2','3.3333','foo',nil,'bar'}", RScript.ReturnType.MULTI, Collections.emptyList());
assertThat(res.awaitUninterruptibly().getNow()).containsExactly(1L, 2L, 3L, "foo"); assertThat(res.awaitUninterruptibly().getNow()).containsExactly("1", "2", "3.3333", "foo");
} }
@Test @Test

@ -1,8 +1,9 @@
package org.redisson.executor; package org.redisson.executor;
import java.io.Serializable;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
public class CallableTask implements Callable<String> { public class CallableTask implements Callable<String>, Serializable {
public static final String RESULT = "callable"; public static final String RESULT = "callable";

@ -1,12 +1,13 @@
package org.redisson.executor; package org.redisson.executor;
import java.io.Serializable;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import org.redisson.api.RAtomicLong; import org.redisson.api.RAtomicLong;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject; import org.redisson.api.annotation.RInject;
public class DelayedTask implements Callable<Object> { public class DelayedTask implements Callable<Object>, Serializable {
@RInject @RInject
private RedissonClient redisson; private RedissonClient redisson;

@ -1,11 +1,12 @@
package org.redisson.executor; package org.redisson.executor;
import java.io.Serializable;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject; import org.redisson.api.annotation.RInject;
public class IncrementCallableTask implements Callable<String> { public class IncrementCallableTask implements Callable<String>, Serializable {
private String counterName; private String counterName;

@ -1,9 +1,11 @@
package org.redisson.executor; package org.redisson.executor;
import java.io.Serializable;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject; import org.redisson.api.annotation.RInject;
public class IncrementRunnableTask implements Runnable { public class IncrementRunnableTask implements Runnable, Serializable {
private String counterName; private String counterName;

@ -1,8 +1,9 @@
package org.redisson.executor; package org.redisson.executor;
import java.io.Serializable;
import java.util.concurrent.Callable; import java.util.concurrent.Callable;
public class ParameterizedTask implements Callable<String> { public class ParameterizedTask implements Callable<String>, Serializable {
private String param; private String param;

@ -4,6 +4,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import static org.awaitility.Awaitility.await; import static org.awaitility.Awaitility.await;
import java.io.IOException; import java.io.IOException;
import java.io.Serializable;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -515,7 +516,7 @@ public class RedissonExecutorServiceTest extends BaseTest {
redisson.getExecutorService("test").submit(new TaskCallableClass()); redisson.getExecutorService("test").submit(new TaskCallableClass());
} }
public static class TaskStaticCallableClass implements Callable<String> { public static class TaskStaticCallableClass implements Callable<String>, Serializable {
@Override @Override
public String call() throws Exception { public String call() throws Exception {
@ -530,7 +531,7 @@ public class RedissonExecutorServiceTest extends BaseTest {
assertThat(res).isEqualTo("123"); assertThat(res).isEqualTo("123");
} }
public class TaskRunnableClass implements Runnable { public class TaskRunnableClass implements Runnable, Serializable {
@Override @Override
public void run() { public void run() {
@ -543,7 +544,7 @@ public class RedissonExecutorServiceTest extends BaseTest {
redisson.getExecutorService("test").submit(new TaskRunnableClass()); redisson.getExecutorService("test").submit(new TaskRunnableClass());
} }
public static class TaskStaticRunnableClass implements Runnable { public static class TaskStaticRunnableClass implements Runnable, Serializable {
@Override @Override
public void run() { public void run() {

@ -1,9 +1,11 @@
package org.redisson.executor; package org.redisson.executor;
import java.io.Serializable;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject; import org.redisson.api.annotation.RInject;
public class RunnableRedissonTask implements Runnable { public class RunnableRedissonTask implements Runnable, Serializable {
@RInject @RInject
private RedissonClient redissonClient; private RedissonClient redissonClient;

@ -1,6 +1,8 @@
package org.redisson.executor; package org.redisson.executor;
public class RunnableTask implements Runnable { import java.io.Serializable;
public class RunnableTask implements Runnable, Serializable {
@Override @Override
public void run() { public void run() {

@ -2,7 +2,7 @@ package org.redisson.executor;
import java.io.Serializable; import java.io.Serializable;
public class RunnableTask2 implements Runnable { public class RunnableTask2 implements Runnable, Serializable {
private static final long serialVersionUID = 2105094575950438867L; private static final long serialVersionUID = 2105094575950438867L;

@ -1,9 +1,11 @@
package org.redisson.executor; package org.redisson.executor;
import java.io.Serializable;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.RInject; import org.redisson.api.annotation.RInject;
public class ScheduledLongRunnableTask implements Runnable { public class ScheduledLongRunnableTask implements Runnable, Serializable {
@RInject @RInject
private RedissonClient redisson; private RedissonClient redisson;

Loading…
Cancel
Save