Commit Graph

228 Commits

Author SHA1 Message Date
Thomas Darimont
c6d2d7f9c9 DATAREDIS-241 - Add a Jackson2 based RedisSerializer.
Introduced Jackson2JsonRedisSerializer and added optional dependency for Jackson2 core/databind (fasterxml) library.
Added additional parameterised test cases. Needed to increase the max active connections limit for the connection pools used in RedisMapTests.
2014-01-17 12:04:05 +01:00
Jennifer Hickey
e1b421f942 DATAREDIS-237 - Upgrade to Jedis 2.2.1.
Update to Jedis 2.2.1 and Implement newly supported Operations.
Handle removed BinaryTransaction class.
Handle some Jedis return types changed from String to bytes.
Handle some Jedis arg types changed from int to long by removing casting.
Remove ignored tests for issues fixed in Jedis 2.2.1
Throw UnsupportedOpException on multi-arg bitOp NOT
Ensure consistent results across all drivers when bitOp is called with NOT and more than one arg.
2014-01-16 14:34:02 +01:00
Thomas Darimont
168713aae1 DATAREDIS-253 - Avoid usage of deprecated API.
Changed usage of TypeFactory to the recommended API.
2014-01-16 10:39:52 +01:00
Thomas Darimont
14bf8f13b1 DATAREDIS-243 - Ensure compatibility with Spring Framework 4.0.
Updated dependency of XStream since Spring framework 4.0 requires a newer version.
Spring 4 added another method to get cached object to the Cache interface. The method has been added to RedisCache in order to provide compatibility, while calling get internally and casting values to required type.
2014-01-15 10:45:37 +01:00
Thomas Darimont
b0c0d23e1f DATAREDIS-248 - Fix generics in DecoratingStringHashMapper to be Java 8 compatible.
Original pull request #13.
2014-01-15 10:38:17 +01:00
Jennifer Hickey
4550bd43d7 Minor enhancements to listener resubscribe
DATAREDIS-231

- Do not stop the container on Exception, as it
will attempt unnecessary unsubscribe

- Retry connect indefinitely until container is 
stopped

- Ensure connection is closed after subscription
failure

- Set listening to false if SubscriptionTask errors
out for any reason

- Change default recovery interval to 5 seconds
2013-08-22 14:16:12 -07:00
Jokeway
70322f78fb Resubscribe message listener on connection failure
DATAREDIS-231
2013-08-22 14:09:16 -07:00
Jennifer Hickey
5d00542741 Revert "Temp revert "Lazily instantiate shared Lettuce connection""
This reverts commit c6a2a4f7da.
2013-08-21 12:38:02 -07:00
Jennifer Hickey
b106f03bd7 Do not return Jedis conns to pool after NPE
DATAREDIS-153

- Return conn to pool as broken resource if NPE
occurs (for example if a null key or value is given),
preventing later flush of OutputStream with incomplete
data

- Workaround Jedis issue in pub/sub tests that prevents
subscribing with a pooled connection

- Continue not using pool in conn tests, as they
are too brittle with potentially unclosed pipelines,
unexecuted txs, etc
2013-08-21 12:30:42 -07:00
Jennifer Hickey
e1f54d6c68 Implement RedisMap concurrent remove and replace
DATAREDIS-37
2013-08-20 16:57:49 -07:00
Jennifer Hickey
c6a2a4f7da Temp revert "Lazily instantiate shared Lettuce connection"
This reverts commit f9cdad751c.
2013-08-19 12:34:49 -07:00
Jennifer Hickey
e94fa9a35a Throw translated Exception on SRP conn failure
DATAREDIS-234
2013-08-16 15:21:25 -07:00
Jennifer Hickey
6290cbad06 Add password to SrpConnectionFactory
DATAREDIS-203
2013-08-16 15:15:33 -07:00
Jennifer Hickey
f9cdad751c Lazily instantiate shared Lettuce connection
Allow app context to start if Redis is down

DATAREDIS-209
2013-08-16 14:20:30 -07:00
Jennifer Hickey
aa46fdf0a6 Make RedisTemplate use millisecond precision
DATAREDIS-195

- Make expire and expireAt use pExpire and pExpireAt,
falling back to expire and expireAt if not available
(driver does not support or using Redis 2.4)

- Add new getExpire method that will return mills
if requested, using pTTL if supported
2013-08-16 13:14:08 -07:00
Jennifer Hickey
ac851c816b Fix MessageListenerAdapter sending msg instead of body
when no Serializer is specified

DATAREDIS-233
2013-08-15 13:13:41 -07:00
Jennifer Hickey
4b3ff6582c Fix ambiguous constructors in DefaultRedisScript
Can't specify a resource location for script as a
String in Spring app context, as it would get
injected as script text instead. Switched to property
injection for clarity.
2013-08-05 10:54:36 -07:00
Jennifer Hickey
a28a4f1412 Add RedisAtomicDouble
DATAREDIS-198
2013-08-04 18:27:27 -07:00
Jennifer Hickey
7d387ab529 Add RedisTemplate methods for executing Redis scripts
DATAREDIS-199
2013-08-04 16:43:00 -07:00
Jennifer Hickey
faa78cdfaa Fix Lettuce eval suppressing Exceptions in List return
DATAREDIS-232
2013-08-04 16:37:26 -07:00
Jennifer Hickey
c318f24c13 Support zRem with multiple values
DATAREDIS-99
2013-08-01 18:32:15 -07:00
Jennifer Hickey
44460dfdee Support zAdd with multiple values
DATAREDIS-99
2013-08-01 18:32:15 -07:00
Jennifer Hickey
4020f9d97d Support sRem with multiple values
DATAREDIS-99
2013-08-01 18:32:14 -07:00
Jennifer Hickey
d4377b4d17 Support sAdd with multiple values
DATAREDIS-99
2013-08-01 18:32:14 -07:00
Jennifer Hickey
dae047f9c5 Support rPush with multiple values
DATAREDIS-99
2013-08-01 18:32:13 -07:00
Jennifer Hickey
36780d14a1 Support lPush with multiple values
DATAREDIS-99
2013-08-01 18:32:13 -07:00
Jennifer Hickey
8f362b481c Support hDel with multiple hash keys
DATAREDIS-99
2013-08-01 18:32:13 -07:00
Jennifer Hickey
c1cda95baa Allow usage of RedisTemplate without serialization
DATAREDIS-227

Add "enableDefaultSerializer" property on
RedisTemplate. If false, serializers can be null
and no serialization will be performed if they are.
2013-07-30 18:31:27 -07:00
Jennifer Hickey
4505629ad8 Fix NPE on SRP sort with alpha not set
DATAREDIS-230
2013-07-29 21:23:53 -07:00
Jennifer Hickey
6fdab1c3c1 Fix Jedis conns not returning to pool on failed select
DATAREDIS-213
2013-07-28 21:00:08 -07:00
Jennifer Hickey
9255ae57ad Remove 5 second wait starting MsgListenerContainer
with no listeners

DATAREDIS-207
2013-07-28 20:34:32 -07:00
Jennifer Hickey
94c4a0eed1 Fix javadoc warnings 2013-07-25 15:19:53 -07:00
Jennifer Hickey
a5fc567d4a Add RedisTemplate executePipelined methods
DATAREDIS-119

Add methods to execute RedisCallbacks and
SessionCallbacks in a pipeline and return
deserialized results
2013-07-25 15:19:07 -07:00
Jennifer Hickey
2e7a04fcd0 Add deserialize of exec results to RedisTemplate
DATAREDIS-228

- RedisTemplate.exec() will now deserialize raw results
using RT serializers, where applicable. This behavior
is disabled if convertPipelineAndTxResults is set
to false on the ConnectionFactory

- Add new RedisTemplate.exec(RedisSerializer) method
that will deserialize all results using the provided
serializer.
2013-07-24 16:30:17 -07:00
Jennifer Hickey
48e9d34a2f Fix NPE on deserialize of Tuple values in tx/pipeline
DATAREDIS-229
2013-07-24 16:05:39 -07:00
Jennifer Hickey
76fad5f2bc Do not deserialize StringRedisConn pipeline/tx results by default
- Change StringRedisConn to not deserialize pipelined/
exec results by default

- Remove option to enable/disable deserialize of
results in StringRedisTemplate. In most cases, the
same StringRedisConn is not used b/w ops in a pipeline 
or tx, so this is rarely useful
2013-07-24 10:47:33 -07:00
Jennifer Hickey
be199d8c97 Make Lettuce return converted tx results
DATAREDIS-208
2013-07-23 14:58:43 -07:00
Jennifer Hickey
aa8d10b150 Make SRP return converted tx results
DATAREDIS-208
2013-07-23 14:37:03 -07:00
Jennifer Hickey
08d502083c Make Jedis return converted tx results
DATAREDIS-208
2013-07-23 14:35:03 -07:00
Jennifer Hickey
893b9f5007 Convert tx results in DefaultStringRedisConnection
DATAREDIS-208
2013-07-23 11:57:12 -07:00
Jennifer Hickey
bd839ddf0f Check FutureResult status field instead of instanceof 2013-07-22 19:28:24 -07:00
Jennifer Hickey
02481034b1 Reduce instances of IdentityConverter in DefStringRedisConn 2013-07-22 19:05:37 -07:00
Jennifer Hickey
ae118ff9d7 Add missing zRevRangeByScore ops to StringRedisConnection
DATAREDIS-145
2013-07-22 13:59:02 -07:00
Jennifer Hickey
86173faa81 Throw UnsupportedOpException on watch in tx in Lettuce
DATAREDIS-225
2013-07-22 12:32:37 -07:00
Jennifer Hickey
5ab5ee031e Guard against NPEs on conversion of null values 2013-07-22 12:32:02 -07:00
Jennifer Hickey
f41647b3bc Fix Jedis ClassCastExceptions closing pipeline after tx
DATAREDIS-143

Use pipeline instance instead of transaction instance
to execute ops
2013-07-22 12:09:03 -07:00
Jennifer Hickey
a40a88795a SRP closePipeline should return List of tx results
and strip individual op results

DATAREDIS-223

- closePipeline now returns Lists of exec results instead of flattening results

- Temp revert conversion of exec results for
consistency
2013-07-19 12:06:34 -07:00
Jennifer Hickey
a0b4613a4b Lettuce closePipeline should return List of tx results
and strip individual op results

DATAREDIS-223
2013-07-18 15:43:37 -07:00
Jennifer Hickey
136ad487a8 Fix Lettuce setBit and setRange executing twice in pipeline
DATAREDIS-224
2013-07-18 15:37:52 -07:00
Jennifer Hickey
dd8b0561ea Add deserialize of pipeline results to DefaultStringRedisConnection
DATAREDIS-200
2013-07-17 11:23:51 -07:00