verifyPayloadConversion(new TestPayload(), bus);
}
private void verifyPayloadConversion(final Object expectedValue, final LocalMessageBus bus) {
DirectChannel myChannel = new DirectChannel();
bus.bindConsumer("in", myChannel, null);
DirectChannel input = bus.getBean("in", DirectChannel.class);
assertNotNull(input);
final AtomicBoolean msgSent = new AtomicBoolean(false);
myChannel.subscribe(new MessageHandler() {
@Override
public void handleMessage(Message<?> message) throws MessagingException {
assertEquals(expectedValue, message.getPayload());
msgSent.set(true);
}
});
Message<TestPayload> msg = MessageBuilder.withPayload(new TestPayload())
.setHeader(MessageHeaders.CONTENT_TYPE, MediaType.ALL_VALUE).build();
input.send(msg);
assertTrue(msgSent.get());
}