Hi Tommaso, what you have seems correct. Basically you have to use the same serializer for publishing and reading data. If you are using camel producer/consumer for publishing and reading data, you don't have to specify anything, it will just work.
But if you are using a different client for reading data from redis, you have to find the appropriate serializer from Spring redis project and speficy that in the URI HTH On 10 September 2013 09:43, Tommaso <mynos_m...@yahoo.it> wrote: > This is a question on stackoverflow as well: > > http://stackoverflow.com/questions/18698802/redis-wrong-serialization-using-the-camel-redis > > I'm playing with camel and redis. I have a very short route: > > from("timer://foo?period=5s") > > .to(" > http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson") > .split().method(SplitFeatures.class,"splitMessage") > > .to("spring-redis://localhost:6379?command=SET&serializer=#serializer"); > > Where splitMessage is the following: > > public static List splitMessage(@Body String body) throws IOException { > List answer = new ArrayList(); > JsonParser parser=new JsonParser(); > JsonObject jo= (JsonObject)parser.parse(body); > > // I care only for the features array > JsonArray features=jo.get("features").getAsJsonArray(); > > for (JsonElement feature: features) { > Message msg=new DefaultMessage(); > JsonObject jof=feature.getAsJsonObject(); > > // get the key > String id=jof.get("id").getAsString().toString(); > > System.out.print(id); > msg.setHeader(RedisConstants.KEY, id); > msg.setHeader(RedisConstants.VALUE, jof.toString()); > answer.add(msg); > } > return answer; > } > > Everything runs smoothly, but when I check the redis db I see that the key > is: "\xac\xed\x00\x05t\x00\nci11361338" > > and the same prefix "\xac\xed\x00\x05t\x00" is in the value. > > Obviously the those printed by the System.out look fine. > > As you see I tried to add a serializer, a StringRedisSerializer that I > defined in the Main like this: > > Main main = new Main(); > main.bind("serializer", new StringRedisSerializer()); > > But the result is the same (also using GenericToStringSerializer). > > Is there something I'm missing? > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/camel-redis-strings-serialization-tp5738994.html > Sent from the Camel - Users mailing list archive at Nabble.com. > -- Bilgin Ibryam Apache Camel & Apache OFBiz committer Blog: ofbizian.com Twitter: @bibryam <https://twitter.com/bibryam> Author of Instant Apache Camel Message Routing packtpub.com/apache-camel-message-routing/book<http://www.packtpub.com/apache-camel-message-routing/book>