diff --git a/pom.xml b/pom.xml
index ac14e9f25..0e21a78f6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -94,13 +94,6 @@
-
- org.codehaus.jackson
- jackson-mapper-asl
- 1.8.8
- true
-
-
com.fasterxml.jackson.corejackson-core
diff --git a/src/main/asciidoc/reference/redis.adoc b/src/main/asciidoc/reference/redis.adoc
index 154084ebf..11cb7b472 100644
--- a/src/main/asciidoc/reference/redis.adoc
+++ b/src/main/asciidoc/reference/redis.adoc
@@ -288,7 +288,7 @@ public void useCallback() {
[[redis:serializer]]
== Serializers
-From the framework perspective, the data stored in Redis is just bytes. While Redis itself supports various types, for the most part these refer to the way the data is stored rather than what it represents. It is up to the user to decide whether the information gets translated into Strings or any other objects. The conversion between the user (custom) types and raw data (and vice-versa) is handled in Spring Data Redis through the `RedisSerializer` interface (package `org.springframework.data.redis.serializer`) which as the name implies, takes care of the serialization process. Multiple implementations are available out of the box, two of which have been already mentioned before in this documentation: the `StringRedisSerializer` and the `JdkSerializationRedisSerializer`. However one can use `OxmSerializer` for Object/XML mapping through Spring 3 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/oxm.html[OXM] support or either `JacksonJsonRedisSerializer`, `Jackson2JsonRedisSerializer` or `GenericJackson2JsonRedisSerializer` for storing data in http://en.wikipedia.org/wiki/JSON[JSON] format. Do note that the storage format is not limited only to values - it can be used for keys, values or hashes without any restrictions.[[redis:serializer]]
+From the framework perspective, the data stored in Redis is just bytes. While Redis itself supports various types, for the most part these refer to the way the data is stored rather than what it represents. It is up to the user to decide whether the information gets translated into Strings or any other objects. The conversion between the user (custom) types and raw data (and vice-versa) is handled in Spring Data Redis through the `RedisSerializer` interface (package `org.springframework.data.redis.serializer`) which as the name implies, takes care of the serialization process. Multiple implementations are available out of the box, two of which have been already mentioned before in this documentation: the `StringRedisSerializer` and the `JdkSerializationRedisSerializer`. However one can use `OxmSerializer` for Object/XML mapping through Spring 3 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/oxm.html[OXM] support or either `Jackson2JsonRedisSerializer` or `GenericJackson2JsonRedisSerializer` for storing data in http://en.wikipedia.org/wiki/JSON[JSON] format. Do note that the storage format is not limited only to values - it can be used for keys, values or hashes without any restrictions.[[redis:serializer]]
[[redis.hashmappers.root]]
== Hash mapping
diff --git a/src/main/java/org/springframework/data/redis/cache/RedisCache.java b/src/main/java/org/springframework/data/redis/cache/RedisCache.java
index 0a5bce9ab..b507a2bdb 100644
--- a/src/main/java/org/springframework/data/redis/cache/RedisCache.java
+++ b/src/main/java/org/springframework/data/redis/cache/RedisCache.java
@@ -33,7 +33,6 @@ import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisOperations;
import org.springframework.data.redis.serializer.GenericToStringSerializer;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
-import org.springframework.data.redis.serializer.JacksonJsonRedisSerializer;
import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
@@ -98,7 +97,6 @@ public class RedisCache extends AbstractValueAdaptingCache {
if (redisOperations.getValueSerializer() instanceof StringRedisSerializer
|| redisOperations.getValueSerializer() instanceof GenericToStringSerializer
- || redisOperations.getValueSerializer() instanceof JacksonJsonRedisSerializer
|| redisOperations.getValueSerializer() instanceof Jackson2JsonRedisSerializer) {
throw new IllegalArgumentException(String.format(
"Redis does not allow keys with null value ¯\\_(ツ)_/¯. "
@@ -116,7 +114,6 @@ public class RedisCache extends AbstractValueAdaptingCache {
* @param key
* @param type
* @return
- * @see DATAREDIS-243
*/
public T get(Object key, Class type) {
diff --git a/src/main/java/org/springframework/data/redis/hash/JacksonHashMapper.java b/src/main/java/org/springframework/data/redis/hash/JacksonHashMapper.java
deleted file mode 100644
index 43294c875..000000000
--- a/src/main/java/org/springframework/data/redis/hash/JacksonHashMapper.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright 2011-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.data.redis.hash;
-
-import java.util.Map;
-
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion;
-import org.codehaus.jackson.map.type.TypeFactory;
-import org.codehaus.jackson.type.JavaType;
-
-/**
- * {@link HashMapper} based on Jackson library. Supports nested properties (rich objects).
- *
- * @author Costin Leau
- * @author Thomas Darimont
- * @author Christoph Strobl
- * @deprecated since 1.7. Will be removed in subsequent version.
- */
-@Deprecated
-public class JacksonHashMapper implements HashMapper {
-
- private final ObjectMapper mapper;
- private final JavaType userType;
- private final JavaType mapType = TypeFactory.defaultInstance()
- .constructMapType(Map.class, String.class, Object.class);
-
- /**
- * Creates new {@link JacksonHashMapper}.
- *
- * @param type
- */
- public JacksonHashMapper(Class type) {
-
- this(type, new ObjectMapper());
- mapper.getSerializationConfig().setSerializationInclusion(Inclusion.NON_NULL);
- }
-
- public JacksonHashMapper(Class type, ObjectMapper mapper) {
-
- this.mapper = mapper;
- this.userType = TypeFactory.defaultInstance().constructType(type);
- }
-
- @SuppressWarnings("unchecked")
- public T fromHash(Map hash) {
- return (T) mapper.convertValue(hash, userType);
- }
-
- public Map toHash(T object) {
- return mapper.convertValue(object, mapType);
- }
-}
diff --git a/src/main/java/org/springframework/data/redis/serializer/JacksonJsonRedisSerializer.java b/src/main/java/org/springframework/data/redis/serializer/JacksonJsonRedisSerializer.java
deleted file mode 100644
index 1953f9c7d..000000000
--- a/src/main/java/org/springframework/data/redis/serializer/JacksonJsonRedisSerializer.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright 2011-2016 the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.springframework.data.redis.serializer;
-
-import java.nio.charset.Charset;
-
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.map.type.TypeFactory;
-import org.codehaus.jackson.type.JavaType;
-import org.springframework.util.Assert;
-
-/**
- * {@link RedisSerializer} that can read and write JSON using Jackson's
- * {@link ObjectMapper}.
- *
- * This converter can be used to bind to typed beans, or untyped {@link java.util.HashMap HashMap} instances.
- * Note:Null objects are serialized as empty arrays and vice versa.
- *
- * @author Costin Leau
- * @author Thomas Darimont
- * @author Christoph Strobl
- * @deprecated ince 1.7. Will be removed in subsequent version.
- */
-@Deprecated
-public class JacksonJsonRedisSerializer implements RedisSerializer {
-
- public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");
-
- private final JavaType javaType;
-
- private ObjectMapper objectMapper = new ObjectMapper();
-
- /**
- * Creates a new {@link JacksonJsonRedisSerializer} for the given target {@link Class}.
- *
- * @param type
- */
- public JacksonJsonRedisSerializer(Class type) {
- this.javaType = getJavaType(type);
- }
-
- /**
- * Creates a new {@link JacksonJsonRedisSerializer} for the given target {@link JavaType}.
- *
- * @param javaType
- */
- public JacksonJsonRedisSerializer(JavaType javaType) {
- this.javaType = javaType;
- }
-
- @SuppressWarnings("unchecked")
- public T deserialize(byte[] bytes) throws SerializationException {
- if (SerializationUtils.isEmpty(bytes)) {
- return null;
- }
- try {
- return (T) this.objectMapper.readValue(bytes, 0, bytes.length, javaType);
- } catch (Exception ex) {
- throw new SerializationException("Could not read JSON: " + ex.getMessage(), ex);
- }
- }
-
- public byte[] serialize(Object t) throws SerializationException {
- if (t == null) {
- return SerializationUtils.EMPTY_ARRAY;
- }
- try {
- return this.objectMapper.writeValueAsBytes(t);
- } catch (Exception ex) {
- throw new SerializationException("Could not write JSON: " + ex.getMessage(), ex);
- }
- }
-
- /**
- * Sets the {@code ObjectMapper} for this view. If not set, a default {@link ObjectMapper#ObjectMapper() ObjectMapper}
- * is used.
- *
- * Setting a custom-configured {@code ObjectMapper} is one way to take further control of the JSON serialization
- * process. For example, an extended {@link org.codehaus.jackson.map.SerializerFactory} can be configured that
- * provides custom serializers for specific types. The other option for refining the serialization process is to use
- * Jackson's provided annotations on the types to be serialized, in which case a custom-configured ObjectMapper is
- * unnecessary.
- */
- public void setObjectMapper(ObjectMapper objectMapper) {
- Assert.notNull(objectMapper, "'objectMapper' must not be null");
- this.objectMapper = objectMapper;
- }
-
- /**
- * Returns the Jackson {@link JavaType} for the specific class.
- *
- * Default implementation returns {@link TypeFactory#type(java.lang.reflect.Type)}, but this can be overridden in
- * subclasses, to allow for custom generic collection handling. For instance:
- *
- *