diff --git a/redisson/src/main/java/org/redisson/Redisson.java b/redisson/src/main/java/org/redisson/Redisson.java
index 957fca848..0a7216f3b 100755
--- a/redisson/src/main/java/org/redisson/Redisson.java
+++ b/redisson/src/main/java/org/redisson/Redisson.java
@@ -70,8 +70,6 @@ import org.redisson.config.Config;
import org.redisson.config.ConfigSupport;
import org.redisson.connection.ConnectionManager;
import org.redisson.codec.CodecProvider;
-import org.redisson.codec.DefaultCodecProvider;
-import org.redisson.liveobject.provider.DefaultResolverProvider;
import org.redisson.liveobject.provider.ResolverProvider;
import org.redisson.pubsub.SemaphorePubSub;
@@ -499,11 +497,6 @@ public class Redisson implements RedissonClient {
return new RedissonLiveObjectService(this, liveObjectClassCache, codecProvider, resolverProvider);
}
- @Override
- public RLiveObjectService getLiveObjectService(CodecProvider codecProvider, ResolverProvider resolverProvider) {
- return new RedissonLiveObjectService(this, liveObjectClassCache, codecProvider, resolverProvider);
- }
-
@Override
public void shutdown() {
connectionManager.shutdown();
diff --git a/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java b/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java
index 83ee7b82c..922e2b75c 100644
--- a/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java
+++ b/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java
@@ -325,7 +325,7 @@ public class RedissonLiveObjectService implements RLiveObjectService {
.or(ElementMatchers.isSetter()))
.and(ElementMatchers.isPublic()))
.intercept(MethodDelegation.to(
- new AccessorInterceptor(redisson, codecProvider, resolverProvider)))
+ new AccessorInterceptor(redisson)))
.make().load(getClass().getClassLoader(),
ClassLoadingStrategy.Default.WRAPPER)
.getLoaded();
diff --git a/redisson/src/main/java/org/redisson/api/RedissonClient.java b/redisson/src/main/java/org/redisson/api/RedissonClient.java
index 915ddd305..18f731007 100755
--- a/redisson/src/main/java/org/redisson/api/RedissonClient.java
+++ b/redisson/src/main/java/org/redisson/api/RedissonClient.java
@@ -656,15 +656,6 @@ public interface RedissonClient {
*/
RLiveObjectService getLiveObjectService();
- /**
- * Returns RedissonAttachedLiveObjectService which can be used to
- * retrieve live REntity(s)
- *
- * @param codecProvider the CodecProvider to be used to create the service
- * @return
- */
- RLiveObjectService getLiveObjectService(CodecProvider codecProvider, ResolverProvider resolverProvider);
-
/**
* Shutdown Redisson instance but NOT Redis server
*
diff --git a/redisson/src/main/java/org/redisson/liveobject/core/AccessorInterceptor.java b/redisson/src/main/java/org/redisson/liveobject/core/AccessorInterceptor.java
index 2e5b4e61e..b15618a3b 100644
--- a/redisson/src/main/java/org/redisson/liveobject/core/AccessorInterceptor.java
+++ b/redisson/src/main/java/org/redisson/liveobject/core/AccessorInterceptor.java
@@ -33,7 +33,6 @@ import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.ConcurrentMap;
-import org.redisson.RedissonBitSet;
import org.redisson.RedissonBlockingDeque;
import org.redisson.RedissonBlockingQueue;
import org.redisson.RedissonDeque;
@@ -56,7 +55,6 @@ import org.redisson.api.annotation.REntity.TransformationMode;
import org.redisson.liveobject.misc.Introspectior;
import org.redisson.liveobject.misc.RedissonObjectFactory;
import org.redisson.codec.CodecProvider;
-import org.redisson.liveobject.provider.ResolverProvider;
import org.redisson.liveobject.resolver.NamingScheme;
import io.netty.util.internal.PlatformDependent;
@@ -78,14 +76,12 @@ public class AccessorInterceptor {
private final RedissonClient redisson;
private final CodecProvider codecProvider;
- private final ResolverProvider resolverProvider;
private final ConcurrentMap namingSchemeCache = PlatformDependent.newConcurrentHashMap();
private static final LinkedHashMap> supportedClassMapping;
- public AccessorInterceptor(RedissonClient redisson, CodecProvider codecProvider, ResolverProvider resolverProvider) {
+ public AccessorInterceptor(RedissonClient redisson) {
this.redisson = redisson;
- this.codecProvider = codecProvider;
- this.resolverProvider = resolverProvider;
+ this.codecProvider = redisson.getCodecProvider();
}
static {
@@ -116,7 +112,7 @@ public class AccessorInterceptor {
if (isGetter(method, fieldName)) {
Object result = liveMap.get(fieldName);
if (result instanceof RedissonReference) {
- return RedissonObjectFactory.fromReference(redisson, codecProvider, resolverProvider, (RedissonReference) result, method.getReturnType());
+ return RedissonObjectFactory.fromReference(redisson, (RedissonReference) result, method.getReturnType());
// if (BitSet.class.isAssignableFrom(method.getReturnType()) && RBitSet.class.isAssignableFrom(((RedissonReference) result).getType())) {
// return ((RBitSet) rObject).asBitSet();
// }
@@ -125,7 +121,7 @@ public class AccessorInterceptor {
}
if (isSetter(method, fieldName)) {
Class idFieldType = me.getClass().getSuperclass().getDeclaredField(fieldName).getType();
- if (args[0].getClass().getSuperclass().isAnnotationPresent(REntity.class)) {
+ if (args[0] instanceof RLiveObject) {
Class extends Object> rEntity = args[0].getClass().getSuperclass();
REntity anno = rEntity.getAnnotation(REntity.class);
NamingScheme ns = anno.namingScheme()
diff --git a/redisson/src/main/java/org/redisson/liveobject/misc/RedissonObjectFactory.java b/redisson/src/main/java/org/redisson/liveobject/misc/RedissonObjectFactory.java
index f35f54824..9d0342224 100644
--- a/redisson/src/main/java/org/redisson/liveobject/misc/RedissonObjectFactory.java
+++ b/redisson/src/main/java/org/redisson/liveobject/misc/RedissonObjectFactory.java
@@ -67,19 +67,11 @@ public class RedissonObjectFactory {
}
public static T fromReference(RedissonClient redisson, RedissonReference rr, Class> expected) throws Exception {
- return fromReference(redisson, null, null, rr, expected);
- }
-
- public static T fromReference(RedissonClient redisson, CodecProvider codecProvider, ResolverProvider resolverProvider, RedissonReference rr, Class> expected) throws Exception {
Class extends Object> type = rr.getType();
- if (codecProvider == null) {
- codecProvider = redisson.getConfig().getCodecProvider();
- }
+ CodecProvider codecProvider = redisson.getConfig().getCodecProvider();
if (type != null) {
if (type.isAnnotationPresent(REntity.class)) {
- RLiveObjectService liveObjectService = resolverProvider == null
- ? redisson.getLiveObjectService()
- : redisson.getLiveObjectService(codecProvider, resolverProvider);
+ RLiveObjectService liveObjectService = redisson.getLiveObjectService();
REntity anno = type.getAnnotation(REntity.class);
NamingScheme ns = anno.namingScheme()
.getDeclaredConstructor(Codec.class)
@@ -106,7 +98,7 @@ public class RedissonObjectFactory {
return new RedissonReference(object.getClass(), ((RObject) object).getName(), ((RObject) object).getCodec());
}
try {
- if (object.getClass().getSuperclass().isAnnotationPresent(REntity.class)) {
+ if (object instanceof RLiveObject) {
Class extends Object> rEntity = object.getClass().getSuperclass();
REntity anno = rEntity.getAnnotation(REntity.class);
NamingScheme ns = anno.namingScheme()