Project: springxd
Issue XD-1370: Serialization over data transport fails for classes that are module specific
Given: the counter example from the guide is run with redis enabled: xd-singlenode --transport redis --store redis When: a stream is created stream create --name springtweets --definition "twittersearch --consumerKey= --consumerSecret= --query=spring | file --dir=/tweets/" Then: An exception is thrown: Exception in thread "inbound.springtweets.0-redis:queue-inbound-channel-adapter35" org.springframework.integration.MessageHandlingException: error occurred in message handler [springtweets.0.convert.bridge] org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:79) org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:115) org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:102) org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:77) org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:178) org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:149) org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:94) org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:42) org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:86) org.springframework.integration.endpoint.MessageProducerSupport.sendMessage(MessageProducerSupport.java:92) org.springframework.integration.redis.inbound.RedisQueueMessageDrivenEndpoint.popMessageAndSend(RedisQueueMessageDrivenEndpoint.java:207) org.springframework.integration.redis.inbound.RedisQueueMessageDrivenEndpoint.access$300(RedisQueueMessageDrivenEndpoint.java:51) org.springframework.integration.redis.inbound.RedisQueueMessageDrivenEndpoint$ListenerTask.run(RedisQueueMessageDrivenEndpoint.java:286) java.lang.Thread.run(Thread.java:724) Caused by: org.springframework.integration.x.bus.serializer.SerializationException: unable to deserialize [null]. Class not found. org.springframework.integration.x.bus.MessageBusSupport.deserializeConsumerPayload(MessageBusSupport.java:247) org.springframework.integration.x.bus.MessageBusSupport.transformPayloadForConsumer(MessageBusSupport.java:191) org.springframework.integration.x.bus.MessageBusSupport.transformPayloadForConsumerIfNecessary(MessageBusSupport.java:168) org.springframework.integration.x.redis.RedisMessageBus.access$300(RedisMessageBus.java:57) org.springframework.integration.x.redis.RedisMessageBus$ReceivingHandler.handleRequestMessage(RedisMessageBus.java:176) org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:142) org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:73)	... 13 more Caused by: java.lang.ClassNotFoundException: org.springframework.social.twitter.api.Tweet java.net.URLClassLoader$1.run(URLClassLoader.java:366) java.net.URLClassLoader$1.run(URLClassLoader.java:355) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:354) java.lang.ClassLoader.loadClass(ClassLoader.java:424) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) java.lang.ClassLoader.loadClass(ClassLoader.java:357) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:190) org.springframework.integration.x.bus.MessageBusSupport.deserializeConsumerPayload(MessageBusSupport.java:241)	... 19 more
Story points: 3