Commit Graph

2596 Commits

Author SHA1 Message Date
Christoph Strobl
a55c73faeb Polishing.
Reduce constructor visibility and add tests with user provided ObjectMapper.

Original Pull Request: #2332
2022-07-12 07:45:33 +02:00
Mark Paluch
c013a63ba9 Refine Jackson2JsonRedisSerializer design.
Deprecate ObjectMapper setter. Introduce constructor accepting the ObjectMapper.

Original Pull Request: #2332
2022-07-12 07:45:33 +02:00
Christoph Strobl
6f4ac1125a Reader should provide target Object type to allow easy customization.
This commit makes sure to extract and pass on the target type, otherwise it would be Object.class all the time.

Original Pull Request: #2332
2022-07-12 07:43:05 +02:00
Mark Paluch
eb7dfbc7ef Introduce JacksonObjectReader and JacksonObjectWriter function interfaces to customize JSON (de)serialization.
We now encapsulate serialization and deserialization operations as JacksonObjectWriter and JacksonObjectReader functions to allow customization of Jackson serialization.

Closes: #2322
Original Pull Request: #2332
2022-07-12 07:42:29 +02:00
Mark Paluch
862decfdbe Upgrade to Jedis 4.2.3.
Closes #2357
2022-07-07 09:51:32 +02:00
Christoph Strobl
47c1ff54dd Add AOT support for redis repositories.
We now use the AOT infrastructure of Spring Framework 6 and data commons to provide AOT support building the foundation for native image compilation.
Additionally we register hints for GraalVM native image.

See: #2350
2022-07-06 14:44:46 +02:00
Mark Paluch
8c4052329f Adopt to Reactor 2022.0.0-M4 changes.
Closes #2354
2022-07-04 15:06:32 +02:00
Mark Paluch
105964394e 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:08:03 +02:00
Shyngys Sapraliyev
363e46fd1c Fix DefaultSerializationContext assertion message.
Closes #2336
2022-06-28 09:35:07 +02:00
Mark Paluch
f353a09d0f 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:42:17 +02:00
John Blum
c0821be37f Remove punctuation from Exception messages.
Closes #2340.
2022-06-08 14:10:07 -07:00
Mark Paluch
73fff10237 Update CI properties.
See #2326
2022-06-03 09:34:20 +02:00
Mark Paluch
bdbe06ff36 Upgrade to Maven Wrapper 3.8.5.
See #2337
2022-06-03 09:32:40 +02:00
Mark Paluch
e4f5c433e2 Correctly release connection after switching to Pub/Sub mode.
LettuceConnection.switchToPubSub now correctly releases its underlying connection when switching to Pub/Sub. Also, we improved safeguards to avoid using closed connections.

Closes #2331
2022-06-03 09:15:00 +02:00
Mark Paluch
08ed1c472b Capture subscriber initialization exceptions in init future.
We now capture exceptions during the connection initialization and subscription to avoid getting the container into an invalid state.

Closes #2335
2022-06-02 09:02:55 +02:00
Mark Paluch
e2e68aa572 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:26 +02:00
Mark Paluch
14750691d3 Polishing.
Tweak Javadoc links.

Original Pull Request: #2292
2022-05-23 11:57:49 +02:00
Christoph Strobl
2a4cf7a644 Reintroduce and deprecate methods using ZSetCommand.Range.
Provide a smoother upgrade experience.
Fix some javadoc along the way.

See: #2288
Original Pull Request: #2292
2022-05-23 11:57:00 +02:00
Mark Paluch
21c147d2aa Update documentation.
Original Pull Request: #2292
2022-05-23 11:56:32 +02:00
Mark Paluch
b17bc4a7fd Polishing.
Remove duplicate conversion code.

Original Pull Request: #2292
2022-05-23 11:56:05 +02:00
Mark Paluch
4ab1789953 Use o.s.d.d.Range instead of inner Range class for ZSet operations.
Closes: #2288
Original Pull Request: #2292
2022-05-23 11:55:37 +02:00
M Sazzadul Hoque
6ca3800d8c Update Jedis version in reference documentation.
Closes: #2328
2022-05-19 13:16:16 +02:00
Christoph Strobl
5d0deb1d40 Remove unused imports and update reference documentation.
Original Pull Request: #2287
2022-05-18 13:37:26 +02:00
Mark Paluch
fc8ba1aa84 Polishing.
Consistently use InvalidDataAccessApiUsageException to signal that an operation is not allowed/supported in the current mode of operation.
Replace converter objects with conversion within the actual method to remove indirections.

Original Pull Request: #2287
2022-05-18 13:37:01 +02:00
Mark Paluch
ca49139572 Update docs.
Also, refine docs regarding driver ordering.

Original Pull Request: #2287
2022-05-18 13:36:35 +02:00
Mark Paluch
f232a5b3fe Polishing.
Reformat code. Reduce visibility, simplify code.

Original Pull Request: #2287
2022-05-18 13:35:38 +02:00
Mark Paluch
1e4cd6f341 Upgrade to Jedis 4.2.
The upgrade also allows to enable support for GEOSEARCH, GEOSEARCHSTORE, XCLAIMJUSTID and XPENDING.

Closes: #2212
Original Pull Request: #2287
2022-05-18 13:35:01 +02:00
John Blum
d3a70f8f22 Remove Docker Registry login.
Closes #2327.
2022-05-16 13:13:34 -07:00
Christoph Strobl
bbfa86ad1e Fix pom.xml formatting.
This commit reverts formatting changes introduced via da209d4a23.

See #2286
2022-05-13 13:41:53 +02:00
Christoph Strobl
e1320a55b4 After release cleanups.
See #2286
2022-05-13 10:53:26 +02:00
Christoph Strobl
43d2741e2b Prepare next development iteration.
See #2286
2022-05-13 10:53:24 +02:00
Christoph Strobl
6ff6c1b1a6 Release version 3.0 M4 (2022.0.0).
See #2286
2022-05-13 10:44:00 +02:00
Christoph Strobl
da209d4a23 Prepare 3.0 M4 (2022.0.0).
See #2286
2022-05-13 10:43:21 +02:00
Christoph Strobl
5712b3b98a Update spring.io project urls.
This commit updates outdated projects.spring.io links to spring.io/projects.

Closes: #2319
2022-05-10 12:51:39 +02:00
Christoph Strobl
8a6c45335a Provide additional meta information via pom.xml
Add description, url, scm and issueManagement.

Closes: #2318
2022-05-10 12:46:54 +02:00
Mark Paluch
35e44f6e26 Polishing.
Update Spring Framework documentation links.

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

Closes #2297
2022-04-21 11:35:58 +02:00
Mark Paluch
5f75eab65e 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:16:50 +02:00
Mark Paluch
e0f49370d9 Correctly return connection future from StaticMasterReplicaConnectionProvider.
We now pass on the connection future when connecting through StaticMasterReplicaConnectionProvider.getConnectionAsync(…).

Closes #2296
2022-04-06 14:21:46 +02:00
Mark Paluch
fea6e7842b Polishing.
Refine tests as we do not require assertions for every publish command when testing listeners.

See #2209
Original pull request: #2225.
2022-03-31 11:58:34 +02:00
Mark Paluch
84820c4e17 Polishing.
Add nullable annotations. Add tests.

See #2279
Original pull request: #2280.
2022-03-31 10:11:08 +02:00
helei01_gza
5ce30f0df4 Eagerly return null values in AbstractOperations.deserializeGeoResults(…) to avoid null dereference.
Closes #2279
Original pull request: #2280.
2022-03-31 10:11:07 +02:00
Mark Paluch
03878a3c09 Upgrade to Apache Commons Pool2 2.11.1.
Closes #2295
2022-03-31 09:39:01 +02:00
Mark Paluch
0e847a3da8 Polishing.
Reformat code. Refine tests as we do not require assertions for every publish command when testing listeners.

See #2209
Original pull request: #2225.
2022-03-31 09:31:27 +02:00
Vedran Pavic
178d44c5f1 Update RedisOperations#convertAndSend to return number of clients receiving the message.
Currently, `RedisOperations#convertAndSend` is void event though the underlying `RedisPubSubCommands#publish` returns a `Long` that represents the number of clients receiving the published message (see https://redis.io/commands/publish).

This commit updates `RedisOperations#convertAndSend` to return the number of clients that received the message.

Closes #2209
Original pull request: #2225.
2022-03-31 09:31:16 +02:00
Christoph Strobl
d2cae7528b Update build triggers.
See: #2286
2022-03-24 13:34:32 +01:00
Mark Paluch
4d8a826472 After release cleanups.
See #2285
2022-03-22 14:07:38 +01:00
Mark Paluch
0a5fcfe3d1 Prepare next development iteration.
See #2285
2022-03-22 14:07:36 +01:00
Mark Paluch
01f8bfa23b Release version 3.0 M3 (2022.0.0).
See #2285
2022-03-22 14:00:23 +01:00
Mark Paluch
c39b13d321 Prepare 3.0 M3 (2022.0.0).
See #2285
2022-03-22 14:00:01 +01:00