我必须使用Spring解码AMQP消息。为了处理它,我现在使用:使用Spring将AMQP消息解码为地图
// Configure queue.
RabbitAdmin admin = new RabbitAdmin(cf);
Queue queue = new Queue(queueName);
admin.declareQueue(queue);
FanoutExchange exchange = new FanoutExchange(exchangeName);
admin.declareExchange(exchange);
admin.declareBinding(BindingBuilder.bind(queue).to(exchange));
// set up the listener and container
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer(cf);
MessageListenerAdapter adapter = new MessageListenerAdapter(listener);
container.setMessageListener(adapter);
container.setQueueNames(queueName);
container.start();
我的听众是
public class DataListener {
public void handleMessage(Object incomingMessage) {
LOGGER.error("AMQP: got message.{}", incomingMessage);
}
}
使用AmqpTemplate的convertAndSend方法发送的消息。没有配置给AmqpTemplate,一切都是默认的。
我怎么可能收到我的incomingMessage作为字段的HashMap?我不想强烈地将它耦合到特定的对象类型。