skyscreamer / nevado

A JMS driver for Amazon SQS.
http://nevado.skyscreamer.org/
Apache License 2.0
51 stars 48 forks source link

Message deserialization fails for SQS backed SNS Topics #105

Open nikolajbrinch opened 9 years ago

nikolajbrinch commented 9 years ago

When publising to a SNS Topic and listening to an SQS queue bound to that topic, deserialization fails, as the messageformat is a topic message and not a queue message. Messageformat needs to be detected (i.e. the message is non-base64/contains JSON chars), then it is probably a Topic message, and har to be deserialized as a Topic message, event though it is delivered on a NevadoQueue. Alternatively I'm using Amazon AWS library JMS to listen to the queue with a Spring MessageConverter to do the deserialization with help form SerializeUtil in Nevado JMS.

erm410 commented 9 years ago

I also ran into this issue. Have opened a pull request with the fix that I am using myself.

nikolajbrinch commented 9 years ago

I use the Amazon JMS library for that part in my Grails plugin interfacing with Amazon. Which means that Nevado is used for publishing, and Amazon Client Library is used for subscription. That works. Maybe Nevado can use the Amazon implementation to fix this?