Commit Graph

1110 Commits

Author SHA1 Message Date
Thomas Darimont
1880bb3604 DATAREDIS-354 - Made JavaType lookup configurable for Jackson RedisSerializers.
We now allow to customise the JavaType to use for a given Class<> by using the getJavaType method. Added constructor variants to JacksonJsonRedisSerializer and Jackson2JsonRedisSerializer.

Original pull request: #113.
2014-11-27 14:44:46 +01:00
Oliver Gierke
73d71347a2 DATAREDIS-353 - After release cleanups. 2014-10-31 21:47:20 +01:00
Spring Buildmaster
bbe9704ea0 DATAREDIS-353 - Prepare next development iteration. 2014-10-30 06:47:19 -07:00
Spring Buildmaster
92d921e145 DATAREDIS-353 - Release version 1.4.1.RELEASE (Evans SR1). 2014-10-30 06:47:14 -07:00
Oliver Gierke
5750620dc0 DATAREDIS-353 - Prepare 1.4.1.RELEASE (Evans SR1). 2014-10-30 12:39:10 +01:00
Oliver Gierke
c988ab26bf DATAREDIS-353 - Updated changelog. 2014-10-30 11:57:43 +01:00
Christoph Strobl
05fb2097aa DATAREDIS-347 - Fix unintended duplicate script execution.
We now inspect the message of the exception thrown to determine whether the error resulted from a script not being present or an other error. In case the script is not present we simply invoke eval.

Original pull request: #108
2014-10-24 19:26:25 +02:00
Oliver Gierke
90c95b63d1 DATAREDIS-345 - After release cleanups. 2014-09-05 14:37:59 +02:00
Spring Buildmaster
2e80d14310 DATAREDIS-345 - Prepare next development iteration. 2014-09-05 14:35:59 +02:00
Spring Buildmaster
9d634e9789 DATAREDIS-345 - Release version 1.4.0.RELEASE (Evans GA). 2014-09-05 03:24:14 -07:00
Oliver Gierke
4a134e16a5 DATAREDIS-345 - Prepare 1.4.0.RELEASE (Evans GA). 2014-09-05 11:35:34 +02:00
Oliver Gierke
57f773198a DATAREDIS-345 - Updated changelog. 2014-09-05 09:23:50 +02:00
Oliver Gierke
820c435b48 DATAREDIS-339 - Updated changelog. 2014-09-05 08:16:46 +02:00
Thomas Darimont
edcf79e67f DATAREDIS-346 - Update Spring Version to 4.0.7. 2014-09-04 15:04:08 +02:00
Christoph Strobl
4c7e405f7b DATAREDIS-344 - Assert RedisCache works with Spring 4.1.
Added `putIfAbsent` to `RedisCache` to satisfy compatibility with newly introduced method.

Original pull request: #102.
2014-09-04 15:02:19 +02:00
Christoph Strobl
f94df9f535 DATAREDIS-340 - Polish performance improvement of zAdd using jedis.
It turned out that the version check throttled performance so we moved things around to avoid iterating multiple times and still perform the check in a non intrusive way.
2014-09-04 14:02:36 +02:00
Konstantin Shchepanovskyi
b26c56b101 DATAREDIS-340 - Improve performance of zAdd elements when using jedis.
Optimize initial size of HashSet and use a Set implementation to check for score duplicates.
Move jedis version check outside loop.

Original PR: #101
CLA: 90520140903040912 (Konstantin Shchepanovskyi)
2014-09-04 14:00:21 +02:00
Oliver Gierke
5df8c3bc80 DATAREDIS-336 - Polished Asciidoctor setup.
Simplified tasks into single asciidoctor task. Wipe out expandPlaceholders to avoid needing the hack to in turn avoid the issue with file expansion.

Removed obsolete baseDir prefix from index.adoc.

Original pull request: #94.
2014-09-04 08:44:47 +02:00
Oliver Gierke
ef7f8221b0 DATAREDIS-336 - Use Spring Data Build CSS and fix resources zip content.
We now depend on the Spring Data Build resources zip to refer to the centrally managed stylesheet. Fixed the Asciidoctor setup to copy the CSS from the shared resources into the target folder. Tweaked docsZip task to trigger docbook generation as well as PDF generation before zipping and corrected the includes directives to create the proper zip file structure.

Original pull request: #94.
2014-09-04 08:44:47 +02:00
Oliver Gierke
4d2fd187ab DATAREDIS-336 - Improvements to reference documentation build.
Fixed Asciidoctor source files to avoid as many warnings as possible. Switched to matching AsciidoctorJ version. Fixed doctype definition by making it an option and not an attribute. Switched from backend to backends (as recommended for Asciidoctor 1.5).

Original pull request: #94.
2014-09-04 08:44:47 +02:00
Christoph Strobl
c6b2ba75af DATAREDIS-336 - Copy styles to output dir.
Upgraded to Asciidoctor 1.5.0. We now cheat on Gradle docbook-reference-plugin by directly copying files to reference work dir to bypass expanding files. Create an empty source folder so that the plugin does not fail.

Original pull request: #94.
2014-09-04 08:44:47 +02:00
Greg Turnquist
fe6b75ee2a DATAREDIS-336 - Fine tune build process and formatting.
Original pull request: #94.
2014-09-04 08:44:47 +02:00
Christoph Strobl
5f638fdda3 DATAREDIS-336 - Move to Asciidoctor for reference documentation.
Add Asciidoctor plugin to Gradle. Reformat and extract some content of files that could not be parsed. Added already converted files.

Original pull request: #94.
2014-09-04 08:44:47 +02:00
Oliver Gierke
81a14b6c02 DATAREDIS-336 - Removed old docbook reference documentation.
Original pull request: #94.
2014-09-04 08:44:47 +02:00
Oliver Gierke
fdfd7fe6e7 DATAREDIS-338 - After release cleanups. 2014-08-13 16:29:32 +02:00
Spring Buildmaster
fc303bd878 DATAREDIS-338 - Prepare next development iteration. 2014-08-13 07:26:45 -07:00
Spring Buildmaster
6ff22117b1 DATAREDIS-338 - Release version 1.4.0.RC1 (Evans RC1) 2014-08-13 07:26:41 -07:00
Oliver Gierke
0b272103bc DATAREDIS-338 - Prepare 1.4.0.RC1 (Evans RC1). 2014-08-13 15:05:22 +02:00
Oliver Gierke
20455758de DATAREDIS-338 - Updated changelog. 2014-08-13 15:05:17 +02:00
Oliver Gierke
c442a785ff DATAREDIS-331 - Updated changelog. 2014-08-13 11:04:24 +02:00
Thomas Darimont
5abfa8716e DATAREDIS-337 - Improve handling of overridden methods in MessageListenerAdapter.
Previously overriding message handler methods of the delegate passed to MessageListenerAdapter resulted in the message handler method called multiple times. We now make sure that a message handler method is only found and invoked  once.

Original pull request: #95.
2014-08-13 08:53:49 +02:00
Christoph Strobl
c92829f0e2 DATAREDIS-335 - Upgrade to jedis 2.5.2.
Original pull request: #93.
2014-08-11 09:48:40 +02:00
Christoph Strobl
fd361a1868 DATAREDIS-330 - Add support for SENTINEL commands.
add support for commands:
  SENTINEL FAILOVER master
  SENTINEL SLAVES master
  SENTINEL REMOVE name
  SENTINEL MONITOR name ip port quorum

Original pull request: #92.
2014-08-11 09:12:12 +02:00
Christoph Strobl
55ff415a71 DATAREDIS-324 - Add Redis Sentinel support.
We’ve added RedisSentinelConfiguration holding required information for connecting to redis sentinels. This can be used to set up ConnectionFeactory for HA environments.

**Using Jedis**
Providing RedisSentinelConfiguration will force the JedisConnectionFactory to use JedisSentinelPool for managing resources.

**Using Lettuce/JRedis/SRP**
There’s currently no support for sentinel in those clients.

**CI Build**
We’ve added makefile to build and set up redis instances for testing sentinel support on travis-ci. There’s already a section for redis cluster.
The cluster section is for whatever reason currently not working as the cluster nodes won’t start.
This will be fixed when we add redis-cluster support.

_side note:_ there’s an alternative fork of lettuce at mp911de/lettuce that already has sentinel support.
2014-08-05 09:00:15 +02:00
Jungtaek Lim
c36a58da7f DATAREDIS-333 - Use binary version of Jedis.evalsha()
* JedisConnection.eval() uses binary version of Jedis.eval()
* but JedisConnection.evalsha() uses string version of Jedis.evalsha()
* this commit changes JedisConnection.evalsha() to use binary version of Jedis.evalsha()

---

Original Pull Request: #91
CLA: 88220140729064528 (Jungtaek Lim)
2014-07-31 07:14:47 +02:00
Thomas Darimont
b7d8eacdcf DATAREDIS-327 - Improve exception handling for all supported clients.
We now consistently return null in implementations of RedisConnectionFactory#translateExceptionIfPossible(RuntimeException ex)
in cases where we cannot translate the given exception into a more meaningful one complying with the spec of PersistenceExceptionTranslator. Introduced the ExceptionTranslationStrategy abstraction which allows to customise the translation of exceptions through the implementations PassThroughExceptionTranslationStrategy which returns null iif the Exception could not be translated and FallbackExceptionTranslationStrategy which returns a RedisSystemException wrapping the original Exception if it couldn't be translated properly.

This fix also solves the issues DATAREDIS-295, DATAREDIS-325, DATAREDIS-326.

Original pull request: #90.
2014-07-23 14:09:19 +02:00
Oliver Gierke
fc59f35599 DATAREDIS-322 - After release cleanups. 2014-07-10 20:40:44 +02:00
Spring Buildmaster
4c3419c363 DATAREDIS-322 - Prepare next development iteration. 2014-07-10 11:16:47 -07:00
Spring Buildmaster
12503a9c3d DATAREDIS-322 - Release version 1.4.0.M1. 2014-07-10 11:16:43 -07:00
Oliver Gierke
d8d3b81dd1 DATAREDIS-322 - Prepare 1.4.0.M1 (Evans M1). 2014-07-10 17:14:50 +02:00
Oliver Gierke
d2f9f1d650 DATAREDIS-322 - Updated changelog. 2014-07-10 17:14:44 +02:00
Oliver Gierke
4899ac3c8a DATAREDIS-320 - Updated changelog. 2014-07-10 17:11:43 +02:00
Christoph Strobl
3f2fbd396c DATAREDIS-321 - Adapt to Spring 4 upgrade.
Set minimum version dependency to 4.0.6.RELEASE.
2014-07-10 10:48:19 +02:00
Christoph Strobl
81b3b427dc DATAREDIS-323 - Remove links to forum.spring.io.
Point links to spring-data and spring-data-redis tags on stackoverflow.

Original Pull Request: #86
2014-07-09 21:30:42 +02:00
Thomas Darimont
ef3f6e9034 DATAREDIS-310 - Eagerly serialise key and value in RedisCache.
We now serialise the key and value before trying to acquire the lock to make sure that the given key and value are written in state they were at method invocation time.

Original pull request: #85.
2014-06-30 09:40:15 +02:00
Thomas Darimont
5f48ea8ed4 DATAREDIS-317 - Report inappropriate RedisTemplate more eagerly in RedisAtomic wrappers.
We now validate the given RedisTemplate in the constructor of RedisAtomicLong/RedisAtomicInteger/RedisAtomicDouble to report an inappropriate RedisTemplate more eagerly.

Original pull request: #83.
2014-06-30 08:13:26 +02:00
Christoph Strobl
42ff3ee1e1 DATAREDIS-314 - Add SCAN commands to Collection types.
Add scan to RedisMap / RedisSet / RedisZSet.
Lua scritps have to be assembled in binary way in order to avoid script errors when executing.
Add missing rules/profiles to run properly in a 2.6.x redis environment.

Original pull request: #82.
2014-06-17 10:18:28 +02:00
Christoph Strobl
7b3a358752 DATAREDIS-313 - Overhaul SCAN, HSCAN, SSCAN, ZSCAN operations.
Unify naming and return types.
Update supported commands documentation.
Remove key from BoundHashOperations and use getKey() instead.
Prevent error when trying to read values when there are no values present.
2014-06-12 08:20:31 +02:00
Christoph Strobl
d8b53a4c96 DATAREDIS-313 - Overhaul SCAN, HSCAN, SSCAN, ZSCAN operations.
Unify naming and return types. Update supported commands documentation. Remove key from BoundHashOperations and use getKey() instead.

Original pull request: #81.
2014-06-10 16:10:28 +02:00
Christoph Strobl
c939c8a9ff DATAREDIS-306 - Add support for ZSCAN.
ZSCAN is directly supported by jedis and can be emulated for lettuce via eval.

SRP and JRedis will throw UnsupportedOperationException.

Original pull request: #80.
2014-06-06 01:15:26 +02:00