diff --git a/core/redis-sidecar-jdbc/redis-sidecar-jdbc.gradle b/core/redis-sidecar-jdbc/redis-sidecar-jdbc.gradle index e86ee82..a8f42da 100644 --- a/core/redis-sidecar-jdbc/redis-sidecar-jdbc.gradle +++ b/core/redis-sidecar-jdbc/redis-sidecar-jdbc.gradle @@ -23,7 +23,6 @@ shadowJar { archiveClassifier.set('') } -// Configure Auto Relocation import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation task relocateShadowJar(type: ConfigureShadowRelocation) { diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/Config.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/Config.java index 2ce3e61..7ba0926 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/Config.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/Config.java @@ -7,6 +7,8 @@ import org.apache.commons.pool2.impl.BaseObjectPoolConfig; import org.apache.commons.pool2.impl.GenericObjectPoolConfig; +import com.redis.sidecar.codec.ResultSetCodec; + import io.lettuce.core.internal.LettuceAssert; public class Config { diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ConfigManager.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ConfigManager.java index d077250..68409ad 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ConfigManager.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ConfigManager.java @@ -19,6 +19,8 @@ public class ConfigManager implements AutoCloseable { private static final Logger log = Logger.getLogger(ConfigManager.class.getName()); + private static final String JSON_ROOT = "$"; + private final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); private final ObjectMapper mapper = new ObjectMapper(); private final Map> futures = new HashMap<>(); @@ -31,7 +33,7 @@ public synchronized Config getConfig(String key, StatefulRedisModulesConnection< } configs.put(key, config); String json = mapper.writerFor(config.getClass()).writeValueAsString(config); - connection.sync().jsonSet(key, "$", json, SetMode.NX); + connection.sync().jsonSet(key, JSON_ROOT, json, SetMode.NX); ObjectReader reader = mapper.readerForUpdating(config); read(connection, key, reader); long refreshRateMillis = config.getRefreshRate() * 1000; diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/NonRegisteringDriver.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/NonRegisteringDriver.java index 59f997a..1359b43 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/NonRegisteringDriver.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/NonRegisteringDriver.java @@ -31,6 +31,7 @@ import com.redis.micrometer.RedisTimeSeriesMeterRegistry; import com.redis.sidecar.Config.Pool; import com.redis.sidecar.Config.Redis; +import com.redis.sidecar.codec.ResultSetCodec; import com.redis.sidecar.rowset.SidecarRowSetFactory; import io.lettuce.core.AbstractRedisClient; diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/BlobColumnCodec.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/BlobColumnCodec.java index 158a0f4..18b679f 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/BlobColumnCodec.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/BlobColumnCodec.java @@ -6,8 +6,6 @@ import java.sql.ResultSet; import java.sql.SQLException; -import com.redis.sidecar.ResultSetCodec; - import io.netty.buffer.ByteBuf; public class BlobColumnCodec extends NullableColumnCodec { diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ColumnCodec.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/ColumnCodec.java similarity index 89% rename from core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ColumnCodec.java rename to core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/ColumnCodec.java index e945626..912f86f 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ColumnCodec.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/ColumnCodec.java @@ -1,4 +1,4 @@ -package com.redis.sidecar; +package com.redis.sidecar.codec; import java.sql.ResultSet; import java.sql.SQLException; diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/NullableColumnCodec.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/NullableColumnCodec.java index ea0ee39..66b7985 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/NullableColumnCodec.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/NullableColumnCodec.java @@ -3,8 +3,6 @@ import java.sql.ResultSet; import java.sql.SQLException; -import com.redis.sidecar.ColumnCodec; - import io.netty.buffer.ByteBuf; abstract class NullableColumnCodec implements ColumnCodec { diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ResultSetCodec.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/ResultSetCodec.java similarity index 92% rename from core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ResultSetCodec.java rename to core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/ResultSetCodec.java index f02ca27..fb08fc0 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/ResultSetCodec.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/ResultSetCodec.java @@ -1,4 +1,4 @@ -package com.redis.sidecar; +package com.redis.sidecar.codec; import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; @@ -13,18 +13,6 @@ import javax.sql.rowset.RowSetFactory; import javax.sql.rowset.RowSetMetaDataImpl; -import com.redis.sidecar.codec.BigDecimalColumnCodec; -import com.redis.sidecar.codec.BinaryColumnCodec; -import com.redis.sidecar.codec.BlobColumnCodec; -import com.redis.sidecar.codec.BooleanColumnCodec; -import com.redis.sidecar.codec.DateColumnCodec; -import com.redis.sidecar.codec.DoubleColumnCodec; -import com.redis.sidecar.codec.FloatColumnCodec; -import com.redis.sidecar.codec.IntegerColumnCodec; -import com.redis.sidecar.codec.LongColumnCodec; -import com.redis.sidecar.codec.StringColumnCodec; -import com.redis.sidecar.codec.TimeColumnCodec; -import com.redis.sidecar.codec.TimestampColumnCodec; import com.redis.sidecar.rowset.SidecarRowSetFactory; import io.lettuce.core.codec.RedisCodec; diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/SerializedResultSetCodec.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/SerializedResultSetCodec.java similarity index 98% rename from core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/SerializedResultSetCodec.java rename to core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/SerializedResultSetCodec.java index 7768d74..993748d 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/SerializedResultSetCodec.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/SerializedResultSetCodec.java @@ -1,4 +1,4 @@ -package com.redis.sidecar; +package com.redis.sidecar.codec; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; diff --git a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/StringColumnCodec.java b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/StringColumnCodec.java index acaf697..e59fc46 100644 --- a/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/StringColumnCodec.java +++ b/core/redis-sidecar-jdbc/src/main/java/com/redis/sidecar/codec/StringColumnCodec.java @@ -3,8 +3,6 @@ import java.sql.ResultSet; import java.sql.SQLException; -import com.redis.sidecar.ResultSetCodec; - import io.netty.buffer.ByteBuf; public class StringColumnCodec extends NullableColumnCodec { diff --git a/core/redis-sidecar-test/src/jmh/java/com/redis/sidecar/CodecExecutionPlan.java b/core/redis-sidecar-test/src/jmh/java/com/redis/sidecar/CodecExecutionPlan.java index c074e87..b0d732c 100644 --- a/core/redis-sidecar-test/src/jmh/java/com/redis/sidecar/CodecExecutionPlan.java +++ b/core/redis-sidecar-test/src/jmh/java/com/redis/sidecar/CodecExecutionPlan.java @@ -12,6 +12,8 @@ import org.openjdk.jmh.annotations.Setup; import org.openjdk.jmh.annotations.State; +import com.redis.sidecar.codec.ResultSetCodec; +import com.redis.sidecar.codec.SerializedResultSetCodec; import com.redis.sidecar.rowset.SidecarRowSetFactory; import com.redis.sidecar.test.RowSetBuilder; diff --git a/core/redis-sidecar-test/src/test/java/com/redis/sidecar/CodecTests.java b/core/redis-sidecar-test/src/test/java/com/redis/sidecar/CodecTests.java index 230901d..a0cdc8a 100644 --- a/core/redis-sidecar-test/src/test/java/com/redis/sidecar/CodecTests.java +++ b/core/redis-sidecar-test/src/test/java/com/redis/sidecar/CodecTests.java @@ -10,6 +10,8 @@ import org.junit.jupiter.api.TestInstance; import org.junit.jupiter.api.TestInstance.Lifecycle; +import com.redis.sidecar.codec.ResultSetCodec; +import com.redis.sidecar.codec.SerializedResultSetCodec; import com.redis.sidecar.test.RowSetBuilder; @TestInstance(Lifecycle.PER_CLASS)