Commit Graph

1402 Commits

Author SHA1 Message Date
Mark Paluch
2d58305c2b Allow configuration of RedisMessageListenerContainer through @EnableRedisRepositories.
We now support configuration of a bean reference to RedisMessageListenerContainer that should be used with `RedisKeyValueAdapter` for easier configuration of the listener container.

Closes #1827
2022-07-13 09:38:01 +02:00
Mark Paluch
672f5e49c7 Fix Cluster sort.
Jedis Cluster sort now considers if the destination key is sharing the same slot as the source key to use same-slot sorting.

Additionally, sort results that do not map to the same slot replace the destination key with a list instead of checking the key type and appending results.

Closes #2341
2022-06-28 11:09:28 +02:00
Shyngys Sapraliyev
25202ab777 Fix DefaultSerializationContext assertion message.
Closes #2336
2022-06-28 09:34:40 +02:00
Mark Paluch
3e83dadf5f Consider type hints of the actual value in MappingRedisConverter.
We now consider the actual value type when determining whether a value should be considered an entity. Previously, we relied on PersistentProperty type information only which made it impossible to use generic-typed (or Object) properties for entities.

Closes #2349
2022-06-23 11:39:07 +02:00
Mark Paluch
ac81d3286e Prepare 2.6.5 (2021.1.5).
See #2304
2022-06-20 10:58:44 +02:00
Mark Paluch
20cd0e1b6c Fix resource disposal ordering in LettuceConnectionFactory.
We now close the cluster command executor before cleaning up the connection pools so that we first release all held connections before pruning the connection pools.
Previously, the pools were pruned first leading to an attempt to return the connection held by the cluster command executor causing a PoolException.

Closes #2330
2022-05-24 15:18:20 +02:00
Christoph Strobl
13c9c7337f Update spring.io project urls.
This commit updates outdated projects.spring.io links to spring.io/projects.

Closes: #2319
2022-05-10 12:52:44 +02:00
Mark Paluch
e5930090b2 Polishing.
Update Spring Framework documentation links.

See #2297
2022-04-21 11:49:32 +02:00
Dveamer
47db66eb53 Fix broken link in the redis-transaction ref docs.
The link to "declarative transaction management" was broken.

Closes #2297
2022-04-21 11:35:47 +02:00
Mark Paluch
be65e126f1 Attempt early usage of custom converters.
We now try to eagerly apply a custom converter when reading Redis properties in the MappingRedisConverter before considering type hints from the hash.

We require type hints to properly restore the target type for a hash entry as Redis data is all byte arrays, so a simple String needs a type hint before we can load it back into an e.g. Object-typed property. Subtypes of properties (such as ZoneRegion for ZoneId) are sometimes not associated with a converter as only the parent type (ZoneId) is associated with a converter. Trying to convert the value into the subtype directly through our ConversionService would fail in that case.

Closes #2307
2022-04-20 15:17:01 +02:00
Christoph Strobl
47d1c50283 Prepare 2.6.4 (2021.1.4).
See #2283
2022-04-19 12:02:46 +02:00
Mark Paluch
cc04e3f109 Correctly return connection future from StaticMasterReplicaConnectionProvider.
We now pass on the connection future when connecting through StaticMasterReplicaConnectionProvider.getConnectionAsync(…).

Closes #2296
2022-04-06 14:32:07 +02:00
Mark Paluch
c0b48f7487 Polishing.
Add nullable annotations. Add tests.

See #2279
Original pull request: #2280.
2022-03-31 10:11:14 +02:00
helei01_gza
9df07ff691 Eagerly return null values in AbstractOperations.deserializeGeoResults(…) to avoid null dereference.
Closes #2279
Original pull request: #2280.
2022-03-31 10:11:13 +02:00
Mark Paluch
8adce3dd8a Prepare 2.6.3 (2021.1.3).
See #2266
2022-03-21 14:58:28 +01:00
Mark Paluch
f9aadcfe36 Polishing.
Update Bound operations parameter documentation order. Tweak wording.

See #2214
2022-03-10 13:52:32 +01:00
zhenqiangyi
d0cdf732c0 Fix parameter documentation order of ZSetOperations methods.
Closes #2214
2022-03-10 13:52:32 +01:00
Mark Paluch
534acdc623 Polishing.
Avoid races in command unsubscribe fetching.

See #2226
2022-03-09 13:53:05 +01:00
dengliming
e2dc10a915 Simplify CLUSTER MYID command for Jedis.
Closes #2226
2022-03-09 13:44:34 +01:00
Mark Paluch
d8eac670b2 Polishing.
Make tests less strict for random values test.

See #2266
2022-02-23 15:34:39 +01:00
Mark Paluch
0750021041 Prepare 2.6.2 (2021.1.2).
See #2240
2022-02-18 10:40:40 +01:00
Christoph Strobl
8f259a4b24 Update copyright year to 2022.
See: #2264
2022-02-17 11:29:25 +01:00
Mark Paluch
8c0c3c79fe Polishing.
Add author tags and update license years.

See #2222
2022-02-15 14:24:16 +01:00
Hendrik Duerkop
ebb8d4168c Removed deprecated SpinBarrier.
Closes #2222
2022-02-15 13:51:28 +01:00
Christoph Strobl
c559657212 Prepare 2.6.1 (2021.1.1).
See #2201
2022-01-14 10:28:27 +01:00
Mark Paluch
c84fc75edf Polishing.
Add unit tests.

See #2234
2022-01-13 14:43:27 +01:00
sokomishalov
d21f243d35 Add RedisScript and PartialUpdate extensions.
Closes #2234
2022-01-13 14:43:27 +01:00
Mark Paluch
a36d4ee35d Polishing.
Consider configured PolymorphicTypeValidator.

See #2211
2022-01-03 10:49:58 +01:00
Guirong Hu
b1299c6a0f Move off deprecated ObjectMapper methods.
Closes #2211
2022-01-03 10:49:58 +01:00
Mark Paluch
40ecc9cb33 Respect ByteBuffer position and limits in ByteUtils.getBytes(ByteBuffer).
We now properly extract the byte array from a ByteBuffer by copying its content respecting the read position and limits.

Closes #2204
Original Pull Request: #2213
2021-12-15 10:03:50 +01:00
Mark Paluch
33ffc9f925 Return single-element list with empty value when ReactiveHashOperations.hMGet(…) for a single key returns no value.
We now return a list containing a single empty KeyValue element when ReactiveHashOperations.hMGet(…) called for a single key returns no value.

Previously, the code used onErrorReturn(…) which returned the wrong value and suppressed errors.

Closes #2210
2021-12-10 10:02:46 +01:00
Jens Schauder
54ad44fc35 Prepare 2.6 GA (2021.1.0).
See #2184
2021-11-12 10:49:16 +01:00
Mark Paluch
518fd6d946 Avoid cast to StatefulRedisConnection upon eager LettuceConnectionFactory initialization.
We now no longer try to cast the Lettuce connection to StatefulRedisConnection when eagerly initializing the shared connection. Instead, we now introduced another method to obtain the cluster connection.

Closes #2186
2021-11-12 08:52:28 +01:00
Mark Paluch
b2f7b6f4b2 Polishing.
Rename key name arguments consistently to oldKey/newKey.

See #2189
2021-11-08 15:23:55 +01:00
Todd Merrill
b67f1339b2 Use consistent key names in RENAME/RENAMENX command documentation.
Closes #2189
2021-11-08 15:23:27 +01:00
Mark Paluch
c869b87192 Prepare 2.6 RC1 (2021.1.0).
See #2171
2021-10-18 13:47:48 +02:00
Mark Paluch
7eeb0a4a8e Polishing.
Reformat documentation.

See #2181
2021-10-13 14:30:59 +02:00
Mark Paluch
6f3be02f3a Polishing.
Tweak wording.

See #2181
2021-10-13 14:30:53 +02:00
Dennis
430cef40ea Added docs to use TTL on AWS ElastiCache.
The documentation indicates that it's not possible to use the keyspace notification message listener on AWS ElastiCache. The added text describes a way to prevent Spring Data Redis from using the `CONFIG` command and make it possible to use the listener on AWS.

Closes #2181
2021-10-13 14:30:53 +02:00
Forever杨
954029d64a Fix command reference in Javadoc.
Closes #2176
2021-10-13 14:25:01 +02:00
Mark Paluch
5852cc23f9 Add support for fluent findBy(…) query by example support.
Including projection and stream query support.

Closes #2150
Original pull request: #2151.
2021-10-08 13:58:30 +02:00
Mark Paluch
54feba95a9 Fix invalid Javadoc references.
See #2175
2021-09-27 10:02:15 +02:00
Mark Paluch
f88f820568 Prepare 2.6 M3 (2021.1.0).
See #2143
2021-09-17 09:44:35 +02:00
Christoph Strobl
7d94bfc30e Polishing.
Reintroduce public compile-time constants but flag them deprecated with replacement hint.

Original Pull Request: #2158
2021-09-16 11:04:34 +02:00
Stefan Berger
2f202fde5f Fix typo in DELIMITTER
Closes: #2158
2021-09-16 10:52:42 +02:00
Mark Paluch
f5420d0477 Run top-level collection conversion tests only on Java 8.
Closes #2143
Related ticket: #2168
2021-09-16 09:47:33 +02:00
Mark Paluch
c392f030d8 Guard tests against changing subscription order.
See #2143
2021-09-16 08:46:26 +02:00
Mark Paluch
174680b9e7 Guard RedisClusterConfiguration.asMap and RedisSentinelConfiguration.asMap with Assert.noNullElements(…).
Closes #2167
2021-09-15 12:09:48 +02:00
Mark Paluch
125342f19a Polishing.
Revert changes in JedisClusterKeyCommands. Switch clusterGetNodeForKey method to calculate the slot locally.

See #2156
Original pull request: #2159.
2021-09-14 09:35:36 +02:00
Dan Smith
5d617ed11b Hash keys using Jedis locally rather than call cluster keyslot.
Changing the remaining commands in JedisClusterKeyCommands to use the
topology's getKeyServingMasterNode to find the node of key, rather than calling
connection.clusterGetNodeForKey. clusterGetNodeForKey was making a cluster
keyslot call to the server to hash the key, rather than hashing it locally.

Closes: #2156
Original pull request: #2159.
2021-09-14 09:35:15 +02:00