Commit Graph

223 Commits

Author SHA1 Message Date
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
Jennifer Hickey
470dd4654d Deprecate connection Utils in favor of Converters
DATAREDIS-200
2013-07-16 14:05:42 -07:00
Jennifer Hickey
daca61be03 Convert SRP pipelined results to correct data type
DATAREDIS-200

- Convert return of closePipeline() to same types
returned from individual operations

- Change SRP execute to return Reply.data() 
instead of Reply for consistency with pipeline
2013-07-16 14:05:41 -07:00
Jennifer Hickey
b2325c90d8 Convert Lettuce pipelined results to correct data type
DATAREDIS-200
2013-07-16 14:05:41 -07:00
Jennifer Hickey
441ac85999 Convert Jedis pipelined results to correct data type
DATAREDIS-200
2013-07-16 14:05:41 -07:00
Jennifer Hickey
1e9d3350ba Add FutureResult and common type converters for pipelined ops
DATAREDIS-200
2013-07-16 14:05:40 -07:00