}
@Test
public void testSendAndReceiveInCallback() throws Exception {
template.convertAndSend(ROUTE, "message");
final MessagePropertiesConverter messagePropertiesConverter = new DefaultMessagePropertiesConverter();
String result = template.execute(new ChannelCallback<String>() {
@Override
public String doInRabbit(Channel channel) throws Exception {
// We need noAck=false here for the message to be expicitly
// acked
GetResponse response = channel.basicGet(ROUTE, false);
MessageProperties messageProps = messagePropertiesConverter.toMessageProperties(
response.getProps(), response.getEnvelope(), "UTF-8");
// Explicit ack
channel.basicAck(response.getEnvelope().getDeliveryTag(), false);
return (String) new SimpleMessageConverter().fromMessage(new Message(response.getBody(), messageProps));
}