Renamed codecProvider and redissonReferenceEnabled Config properties #1186

pull/1204/head
Nikita 7 years ago
parent 9b5fb39a4b
commit e7bc7904ed

@ -70,7 +70,7 @@ import org.redisson.api.RTopic;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.redisson.api.RedissonReactiveClient; import org.redisson.api.RedissonReactiveClient;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.command.CommandExecutor; import org.redisson.command.CommandExecutor;
import org.redisson.config.Config; import org.redisson.config.Config;
import org.redisson.config.ConfigSupport; import org.redisson.config.ConfigSupport;
@ -102,7 +102,7 @@ public class Redisson implements RedissonClient {
protected final ConnectionManager connectionManager; protected final ConnectionManager connectionManager;
protected final ConcurrentMap<Class<?>, Class<?>> liveObjectClassCache = PlatformDependent.newConcurrentHashMap(); protected final ConcurrentMap<Class<?>, Class<?>> liveObjectClassCache = PlatformDependent.newConcurrentHashMap();
protected final CodecProvider codecProvider; protected final ReferenceCodecProvider codecProvider;
protected final ResolverProvider resolverProvider; protected final ResolverProvider resolverProvider;
protected final Config config; protected final Config config;
protected final SemaphorePubSub semaphorePubSub = new SemaphorePubSub(); protected final SemaphorePubSub semaphorePubSub = new SemaphorePubSub();
@ -116,7 +116,7 @@ public class Redisson implements RedissonClient {
connectionManager = ConfigSupport.createConnectionManager(configCopy); connectionManager = ConfigSupport.createConnectionManager(configCopy);
evictionScheduler = new EvictionScheduler(connectionManager.getCommandExecutor()); evictionScheduler = new EvictionScheduler(connectionManager.getCommandExecutor());
codecProvider = configCopy.getCodecProvider(); codecProvider = configCopy.getReferenceCodecProvider();
resolverProvider = configCopy.getResolverProvider(); resolverProvider = configCopy.getResolverProvider();
} }
@ -154,7 +154,7 @@ public class Redisson implements RedissonClient {
*/ */
public static RedissonClient create(Config config) { public static RedissonClient create(Config config) {
Redisson redisson = new Redisson(config); Redisson redisson = new Redisson(config);
if (config.isRedissonReferenceEnabled()) { if (config.isReferenceEnabled()) {
redisson.enableRedissonReferenceSupport(); redisson.enableRedissonReferenceSupport();
} }
return redisson; return redisson;
@ -182,7 +182,7 @@ public class Redisson implements RedissonClient {
*/ */
public static RedissonReactiveClient createReactive(Config config) { public static RedissonReactiveClient createReactive(Config config) {
RedissonReactive react = new RedissonReactive(config); RedissonReactive react = new RedissonReactive(config);
if (config.isRedissonReferenceEnabled()) { if (config.isReferenceEnabled()) {
react.enableRedissonReferenceSupport(); react.enableRedissonReferenceSupport();
} }
return react; return react;
@ -566,7 +566,7 @@ public class Redisson implements RedissonClient {
@Override @Override
public RBatch createBatch() { public RBatch createBatch() {
RedissonBatch batch = new RedissonBatch(id, evictionScheduler, connectionManager); RedissonBatch batch = new RedissonBatch(id, evictionScheduler, connectionManager);
if (config.isRedissonReferenceEnabled()) { if (config.isReferenceEnabled()) {
batch.enableRedissonReferenceSupport(this); batch.enableRedissonReferenceSupport(this);
} }
return batch; return batch;
@ -594,7 +594,7 @@ public class Redisson implements RedissonClient {
} }
@Override @Override
public CodecProvider getCodecProvider() { public ReferenceCodecProvider getCodecProvider() {
return codecProvider; return codecProvider;
} }

@ -53,7 +53,7 @@ import org.redisson.api.annotation.RCascade;
import org.redisson.api.annotation.REntity; import org.redisson.api.annotation.REntity;
import org.redisson.api.annotation.RFieldAccessor; import org.redisson.api.annotation.RFieldAccessor;
import org.redisson.api.annotation.RId; import org.redisson.api.annotation.RId;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.liveobject.LiveObjectTemplate; import org.redisson.liveobject.LiveObjectTemplate;
import org.redisson.liveobject.core.AccessorInterceptor; import org.redisson.liveobject.core.AccessorInterceptor;
import org.redisson.liveobject.core.FieldAccessorInterceptor; import org.redisson.liveobject.core.FieldAccessorInterceptor;
@ -83,11 +83,11 @@ public class RedissonLiveObjectService implements RLiveObjectService {
private final ConcurrentMap<Class<?>, Class<?>> classCache; private final ConcurrentMap<Class<?>, Class<?>> classCache;
private final RedissonClient redisson; private final RedissonClient redisson;
private final CodecProvider codecProvider; private final ReferenceCodecProvider codecProvider;
private final ResolverProvider resolverProvider; private final ResolverProvider resolverProvider;
private final RedissonObjectBuilder objectBuilder; private final RedissonObjectBuilder objectBuilder;
public RedissonLiveObjectService(RedissonClient redisson, ConcurrentMap<Class<?>, Class<?>> classCache, CodecProvider codecProvider, ResolverProvider resolverProvider) { public RedissonLiveObjectService(RedissonClient redisson, ConcurrentMap<Class<?>, Class<?>> classCache, ReferenceCodecProvider codecProvider, ResolverProvider resolverProvider) {
this.redisson = redisson; this.redisson = redisson;
this.classCache = classCache; this.classCache = classCache;
this.codecProvider = codecProvider; this.codecProvider = codecProvider;

@ -52,7 +52,7 @@ import org.redisson.api.RTopicReactive;
import org.redisson.api.RedissonReactiveClient; import org.redisson.api.RedissonReactiveClient;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.client.protocol.RedisCommands; import org.redisson.client.protocol.RedisCommands;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.command.CommandReactiveService; import org.redisson.command.CommandReactiveService;
import org.redisson.config.Config; import org.redisson.config.Config;
import org.redisson.config.ConfigSupport; import org.redisson.config.ConfigSupport;
@ -97,7 +97,7 @@ public class RedissonReactive implements RedissonReactiveClient {
protected final CommandReactiveService commandExecutor; protected final CommandReactiveService commandExecutor;
protected final ConnectionManager connectionManager; protected final ConnectionManager connectionManager;
protected final Config config; protected final Config config;
protected final CodecProvider codecProvider; protected final ReferenceCodecProvider codecProvider;
protected final UUID id = UUID.randomUUID(); protected final UUID id = UUID.randomUUID();
protected final SemaphorePubSub semaphorePubSub = new SemaphorePubSub(); protected final SemaphorePubSub semaphorePubSub = new SemaphorePubSub();
@ -109,7 +109,7 @@ public class RedissonReactive implements RedissonReactiveClient {
connectionManager = ConfigSupport.createConnectionManager(configCopy); connectionManager = ConfigSupport.createConnectionManager(configCopy);
commandExecutor = new CommandReactiveService(connectionManager); commandExecutor = new CommandReactiveService(connectionManager);
evictionScheduler = new EvictionScheduler(commandExecutor); evictionScheduler = new EvictionScheduler(commandExecutor);
codecProvider = config.getCodecProvider(); codecProvider = config.getReferenceCodecProvider();
} }
@Override @Override
@ -316,7 +316,7 @@ public class RedissonReactive implements RedissonReactiveClient {
@Override @Override
public RBatchReactive createBatch() { public RBatchReactive createBatch() {
RedissonBatchReactive batch = new RedissonBatchReactive(evictionScheduler, connectionManager); RedissonBatchReactive batch = new RedissonBatchReactive(evictionScheduler, connectionManager);
if (config.isRedissonReferenceEnabled()) { if (config.isReferenceEnabled()) {
batch.enableRedissonReferenceSupport(this); batch.enableRedissonReferenceSupport(this);
} }
return batch; return batch;
@ -333,7 +333,7 @@ public class RedissonReactive implements RedissonReactiveClient {
} }
@Override @Override
public CodecProvider getCodecProvider() { public ReferenceCodecProvider getCodecProvider() {
return codecProvider; return codecProvider;
} }

@ -18,7 +18,7 @@ package org.redisson.api;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.config.Config; import org.redisson.config.Config;
import org.redisson.liveobject.provider.ResolverProvider; import org.redisson.liveobject.provider.ResolverProvider;
@ -902,7 +902,7 @@ public interface RedissonClient {
* *
* @return CodecProvider object * @return CodecProvider object
*/ */
public CodecProvider getCodecProvider(); public ReferenceCodecProvider getCodecProvider();
/** /**
* Returns the ResolverProvider instance * Returns the ResolverProvider instance

@ -18,7 +18,7 @@ package org.redisson.api;
import java.util.List; import java.util.List;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.config.Config; import org.redisson.config.Config;
/** /**
@ -521,7 +521,7 @@ public interface RedissonReactiveClient {
* *
* @return CodecProvider object * @return CodecProvider object
*/ */
CodecProvider getCodecProvider(); ReferenceCodecProvider getCodecProvider();
/** /**
* Get Redis nodes group for server operations * Get Redis nodes group for server operations

@ -27,7 +27,7 @@ import org.redisson.liveobject.misc.ClassUtils;
* *
* @author Rui Gu (https://github.com/jackygurui) * @author Rui Gu (https://github.com/jackygurui)
*/ */
public class DefaultCodecProvider implements CodecProvider { public class DefaultReferenceCodecProvider implements ReferenceCodecProvider {
public transient final ConcurrentMap<Class<? extends Codec>, Codec> codecCache = PlatformDependent.newConcurrentHashMap(); public transient final ConcurrentMap<Class<? extends Codec>, Codec> codecCache = PlatformDependent.newConcurrentHashMap();

@ -24,7 +24,7 @@ import org.redisson.api.annotation.RObjectField;
* *
* @author Rui Gu (https://github.com/jackygurui) * @author Rui Gu (https://github.com/jackygurui)
*/ */
public interface CodecProvider { public interface ReferenceCodecProvider {
/** /**
* Get codec instance by its class. * Get codec instance by its class.

@ -23,8 +23,8 @@ import java.net.URL;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.codec.DefaultCodecProvider; import org.redisson.codec.DefaultReferenceCodecProvider;
import org.redisson.codec.JsonJacksonCodec; import org.redisson.codec.JsonJacksonCodec;
import org.redisson.connection.ConnectionManager; import org.redisson.connection.ConnectionManager;
import org.redisson.connection.ReplicatedConnectionManager; import org.redisson.connection.ReplicatedConnectionManager;
@ -70,7 +70,7 @@ public class Config {
/** /**
* For codec registry and look up. DefaultCodecProvider used by default * For codec registry and look up. DefaultCodecProvider used by default
*/ */
private CodecProvider codecProvider = new DefaultCodecProvider(); private ReferenceCodecProvider referenceCodecProvider = new DefaultReferenceCodecProvider();
/** /**
* For resolver registry and look up. DefaultResolverProvider used by default * For resolver registry and look up. DefaultResolverProvider used by default
@ -83,7 +83,7 @@ public class Config {
* Config option for enabling Redisson Reference feature. * Config option for enabling Redisson Reference feature.
* Default value is TRUE * Default value is TRUE
*/ */
private boolean redissonReferenceEnabled = true; private boolean referenceEnabled = true;
private boolean useLinuxNativeEpoll; private boolean useLinuxNativeEpoll;
@ -110,9 +110,9 @@ public class Config {
setNettyThreads(oldConf.getNettyThreads()); setNettyThreads(oldConf.getNettyThreads());
setThreads(oldConf.getThreads()); setThreads(oldConf.getThreads());
setCodec(oldConf.getCodec()); setCodec(oldConf.getCodec());
setCodecProvider(oldConf.getCodecProvider()); setReferenceCodecProvider(oldConf.getReferenceCodecProvider());
setResolverProvider(oldConf.getResolverProvider()); setResolverProvider(oldConf.getResolverProvider());
setRedissonReferenceEnabled(oldConf.redissonReferenceEnabled); setReferenceEnabled(oldConf.isReferenceEnabled());
setEventLoopGroup(oldConf.getEventLoopGroup()); setEventLoopGroup(oldConf.getEventLoopGroup());
if (oldConf.getSingleServerConfig() != null) { if (oldConf.getSingleServerConfig() != null) {
setSingleServerConfig(new SingleServerConfig(oldConf.getSingleServerConfig())); setSingleServerConfig(new SingleServerConfig(oldConf.getSingleServerConfig()));
@ -156,14 +156,15 @@ public class Config {
} }
/** /**
* For codec registry and look up. DefaultCodecProvider used by default. * Reference objects codec provider used for codec registry and look up.
* <code>org.redisson.codec.DefaultReferenceCodecProvider</code> used by default.
* *
* @param codecProvider object * @param codecProvider object
* @return config * @return config
* @see org.redisson.codec.CodecProvider * @see org.redisson.codec.ReferenceCodecProvider
*/ */
public Config setCodecProvider(CodecProvider codecProvider) { public Config setReferenceCodecProvider(ReferenceCodecProvider codecProvider) {
this.codecProvider = codecProvider; this.referenceCodecProvider = codecProvider;
return this; return this;
} }
@ -172,8 +173,8 @@ public class Config {
* *
* @return CodecProvider * @return CodecProvider
*/ */
public CodecProvider getCodecProvider() { public ReferenceCodecProvider getReferenceCodecProvider() {
return codecProvider; return referenceCodecProvider;
} }
/** /**
@ -203,8 +204,8 @@ public class Config {
* *
* @return <code>true</code> if Redisson Reference feature enabled * @return <code>true</code> if Redisson Reference feature enabled
*/ */
public boolean isRedissonReferenceEnabled() { public boolean isReferenceEnabled() {
return redissonReferenceEnabled; return referenceEnabled;
} }
/** /**
@ -214,8 +215,8 @@ public class Config {
* *
* @param redissonReferenceEnabled flag * @param redissonReferenceEnabled flag
*/ */
public void setRedissonReferenceEnabled(boolean redissonReferenceEnabled) { public void setReferenceEnabled(boolean redissonReferenceEnabled) {
this.redissonReferenceEnabled = redissonReferenceEnabled; this.referenceEnabled = redissonReferenceEnabled;
} }
/** /**

@ -29,7 +29,7 @@ import java.util.List;
import org.redisson.api.RedissonNodeInitializer; import org.redisson.api.RedissonNodeInitializer;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.cluster.ClusterConnectionManager; import org.redisson.cluster.ClusterConnectionManager;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.connection.ConnectionManager; import org.redisson.connection.ConnectionManager;
import org.redisson.connection.ElasticacheConnectionManager; import org.redisson.connection.ElasticacheConnectionManager;
import org.redisson.connection.MasterSlaveConnectionManager; import org.redisson.connection.MasterSlaveConnectionManager;
@ -271,7 +271,7 @@ public class ConfigSupport {
mapper.addMixIn(MasterSlaveServersConfig.class, MasterSlaveServersConfigMixIn.class); mapper.addMixIn(MasterSlaveServersConfig.class, MasterSlaveServersConfigMixIn.class);
mapper.addMixIn(SingleServerConfig.class, SingleSeverConfigMixIn.class); mapper.addMixIn(SingleServerConfig.class, SingleSeverConfigMixIn.class);
mapper.addMixIn(Config.class, ConfigMixIn.class); mapper.addMixIn(Config.class, ConfigMixIn.class);
mapper.addMixIn(CodecProvider.class, ClassMixIn.class); mapper.addMixIn(ReferenceCodecProvider.class, ClassMixIn.class);
mapper.addMixIn(ResolverProvider.class, ClassMixIn.class); mapper.addMixIn(ResolverProvider.class, ClassMixIn.class);
mapper.addMixIn(Codec.class, ClassMixIn.class); mapper.addMixIn(Codec.class, ClassMixIn.class);
mapper.addMixIn(RedissonNodeInitializer.class, ClassMixIn.class); mapper.addMixIn(RedissonNodeInitializer.class, ClassMixIn.class);

@ -29,7 +29,7 @@ import org.redisson.api.annotation.REntity;
import org.redisson.api.annotation.REntity.TransformationMode; import org.redisson.api.annotation.REntity.TransformationMode;
import org.redisson.api.annotation.RId; import org.redisson.api.annotation.RId;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.liveobject.misc.ClassUtils; import org.redisson.liveobject.misc.ClassUtils;
import org.redisson.liveobject.misc.Introspectior; import org.redisson.liveobject.misc.Introspectior;
import org.redisson.liveobject.resolver.NamingScheme; import org.redisson.liveobject.resolver.NamingScheme;
@ -52,7 +52,7 @@ import net.bytebuddy.implementation.bind.annotation.This;
public class AccessorInterceptor { public class AccessorInterceptor {
private final RedissonClient redisson; private final RedissonClient redisson;
private final CodecProvider codecProvider; private final ReferenceCodecProvider codecProvider;
private final RedissonObjectBuilder objectBuilder; private final RedissonObjectBuilder objectBuilder;
public AccessorInterceptor(RedissonClient redisson, RedissonObjectBuilder objectBuilder) { public AccessorInterceptor(RedissonClient redisson, RedissonObjectBuilder objectBuilder) {

@ -29,7 +29,7 @@ import org.redisson.client.codec.Codec;
import org.redisson.api.RMap; import org.redisson.api.RMap;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.REntity; import org.redisson.api.annotation.REntity;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.liveobject.misc.ClassUtils; import org.redisson.liveobject.misc.ClassUtils;
import org.redisson.liveobject.resolver.NamingScheme; import org.redisson.liveobject.resolver.NamingScheme;
@ -50,14 +50,14 @@ public class LiveObjectInterceptor {
} }
private final RedissonClient redisson; private final RedissonClient redisson;
private final CodecProvider codecProvider; private final ReferenceCodecProvider codecProvider;
private final Class<?> originalClass; private final Class<?> originalClass;
private final String idFieldName; private final String idFieldName;
private final Class<?> idFieldType; private final Class<?> idFieldType;
private final NamingScheme namingScheme; private final NamingScheme namingScheme;
private final Class<? extends Codec> codecClass; private final Class<? extends Codec> codecClass;
public LiveObjectInterceptor(RedissonClient redisson, CodecProvider codecProvider, Class<?> entityClass, String idFieldName) { public LiveObjectInterceptor(RedissonClient redisson, ReferenceCodecProvider codecProvider, Class<?> entityClass, String idFieldName) {
this.redisson = redisson; this.redisson = redisson;
this.codecProvider = codecProvider; this.codecProvider = codecProvider;
this.originalClass = entityClass; this.originalClass = entityClass;

@ -43,7 +43,7 @@ import org.redisson.api.RedissonClient;
import org.redisson.api.annotation.REntity; import org.redisson.api.annotation.REntity;
import org.redisson.api.annotation.RObjectField; import org.redisson.api.annotation.RObjectField;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.liveobject.misc.ClassUtils; import org.redisson.liveobject.misc.ClassUtils;
import org.redisson.liveobject.resolver.NamingScheme; import org.redisson.liveobject.resolver.NamingScheme;
import org.redisson.misc.RedissonObjectFactory; import org.redisson.misc.RedissonObjectFactory;
@ -74,9 +74,9 @@ public class RedissonObjectBuilder {
} }
private final RedissonClient redisson; private final RedissonClient redisson;
private final CodecProvider codecProvider; private final ReferenceCodecProvider codecProvider;
public RedissonObjectBuilder(RedissonClient redisson, CodecProvider codecProvider) { public RedissonObjectBuilder(RedissonClient redisson, ReferenceCodecProvider codecProvider) {
super(); super();
this.redisson = redisson; this.redisson = redisson;
this.codecProvider = codecProvider; this.codecProvider = codecProvider;

@ -32,7 +32,7 @@ import org.redisson.api.RedissonReactiveClient;
import org.redisson.api.annotation.REntity; import org.redisson.api.annotation.REntity;
import org.redisson.api.annotation.RId; import org.redisson.api.annotation.RId;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.config.Config; import org.redisson.config.Config;
import org.redisson.liveobject.misc.ClassUtils; import org.redisson.liveobject.misc.ClassUtils;
import org.redisson.liveobject.misc.Introspectior; import org.redisson.liveobject.misc.Introspectior;
@ -103,7 +103,7 @@ public class RedissonObjectFactory {
public static <T> T fromReference(RedissonClient redisson, RedissonReference rr) throws Exception { public static <T> T fromReference(RedissonClient redisson, RedissonReference rr) throws Exception {
Class<? extends Object> type = rr.getType(); Class<? extends Object> type = rr.getType();
CodecProvider codecProvider = redisson.getConfig().getCodecProvider(); ReferenceCodecProvider codecProvider = redisson.getConfig().getReferenceCodecProvider();
if (type != null) { if (type != null) {
if (ClassUtils.isAnnotationPresent(type, REntity.class)) { if (ClassUtils.isAnnotationPresent(type, REntity.class)) {
RLiveObjectService liveObjectService = redisson.getLiveObjectService(); RLiveObjectService liveObjectService = redisson.getLiveObjectService();
@ -133,7 +133,7 @@ public class RedissonObjectFactory {
public static <T> T fromReference(RedissonReactiveClient redisson, RedissonReference rr) throws Exception { public static <T> T fromReference(RedissonReactiveClient redisson, RedissonReference rr) throws Exception {
Class<? extends Object> type = rr.getReactiveType(); Class<? extends Object> type = rr.getReactiveType();
CodecProvider codecProvider = redisson.getConfig().getCodecProvider(); ReferenceCodecProvider codecProvider = redisson.getConfig().getReferenceCodecProvider();
/** /**
* Live Object from reference in reactive client is not supported yet. * Live Object from reference in reactive client is not supported yet.
*/ */
@ -158,12 +158,12 @@ public class RedissonObjectFactory {
if (object instanceof RObject && !(object instanceof RLiveObject)) { if (object instanceof RObject && !(object instanceof RLiveObject)) {
RObject rObject = ((RObject) object); RObject rObject = ((RObject) object);
config.getCodecProvider().registerCodec((Class) rObject.getCodec().getClass(), (Class) rObject.getClass(), rObject.getName(), rObject.getCodec()); config.getReferenceCodecProvider().registerCodec((Class) rObject.getCodec().getClass(), (Class) rObject.getClass(), rObject.getName(), rObject.getCodec());
return new RedissonReference(object.getClass(), ((RObject) object).getName(), ((RObject) object).getCodec()); return new RedissonReference(object.getClass(), ((RObject) object).getName(), ((RObject) object).getCodec());
} }
if (object instanceof RObjectReactive && !(object instanceof RLiveObject)) { if (object instanceof RObjectReactive && !(object instanceof RLiveObject)) {
RObjectReactive rObject = ((RObjectReactive) object); RObjectReactive rObject = ((RObjectReactive) object);
config.getCodecProvider().registerCodec((Class) rObject.getCodec().getClass(), (Class) rObject.getClass(), rObject.getName(), rObject.getCodec()); config.getReferenceCodecProvider().registerCodec((Class) rObject.getCodec().getClass(), (Class) rObject.getClass(), rObject.getName(), rObject.getCodec());
return new RedissonReference(object.getClass(), ((RObjectReactive) object).getName(), ((RObjectReactive) object).getCodec()); return new RedissonReference(object.getClass(), ((RObjectReactive) object).getName(), ((RObjectReactive) object).getCodec());
} }
@ -173,7 +173,7 @@ public class RedissonObjectFactory {
REntity anno = ClassUtils.getAnnotation(rEntity, REntity.class); REntity anno = ClassUtils.getAnnotation(rEntity, REntity.class);
NamingScheme ns = anno.namingScheme() NamingScheme ns = anno.namingScheme()
.getDeclaredConstructor(Codec.class) .getDeclaredConstructor(Codec.class)
.newInstance(config.getCodecProvider().getCodec(anno, (Class) rEntity)); .newInstance(config.getReferenceCodecProvider().getCodec(anno, (Class) rEntity));
String name = Introspectior String name = Introspectior
.getFieldsWithAnnotation(rEntity, RId.class) .getFieldsWithAnnotation(rEntity, RId.class)
.getOnly().getName(); .getOnly().getName();

@ -17,7 +17,7 @@ import org.redisson.client.RedisClient;
import org.redisson.client.RedisConnection; import org.redisson.client.RedisConnection;
import org.redisson.client.codec.Codec; import org.redisson.client.codec.Codec;
import org.redisson.client.protocol.RedisCommands; import org.redisson.client.protocol.RedisCommands;
import org.redisson.codec.CodecProvider; import org.redisson.codec.ReferenceCodecProvider;
import org.redisson.config.SingleServerConfig; import org.redisson.config.SingleServerConfig;
import org.redisson.liveobject.provider.ResolverProvider; import org.redisson.liveobject.provider.ResolverProvider;
@ -116,8 +116,8 @@ public class SpringNamespaceWikiTest {
assertEquals(2, config.getNettyThreads()); assertEquals(2, config.getNettyThreads());
assertSame(context.getBean("myCodec", Codec.class), config.getCodec()); assertSame(context.getBean("myCodec", Codec.class), config.getCodec());
assertEquals(false, config.isUseLinuxNativeEpoll()); assertEquals(false, config.isUseLinuxNativeEpoll());
assertEquals(false, config.isRedissonReferenceEnabled()); assertEquals(false, config.isReferenceEnabled());
assertSame(context.getBean("myCodecProvider", CodecProvider.class), config.getCodecProvider()); assertSame(context.getBean("myCodecProvider", ReferenceCodecProvider.class), config.getReferenceCodecProvider());
assertSame(context.getBean("myResolverProvider", ResolverProvider.class), config.getResolverProvider()); assertSame(context.getBean("myResolverProvider", ResolverProvider.class), config.getResolverProvider());
assertSame(context.getBean("myExecutor", Executor.class), config.getExecutor()); assertSame(context.getBean("myExecutor", Executor.class), config.getExecutor());
assertSame(context.getBean("myEventLoopGroup", EventLoopGroup.class), config.getEventLoopGroup()); assertSame(context.getBean("myEventLoopGroup", EventLoopGroup.class), config.getEventLoopGroup());

Loading…
Cancel
Save