A common gotcha with JBI is not completing a message exchange. To make it simpler to use we have a helper method on PojoSupport/ComponentSupport and on the Client API called
which completes a message exchange. The long hand way to do this is this code
exchange.setStatus(ExchangeStatus.DONE);
getDeliveryChannel().send(exchange);
There are similar helper methods for
Fault fault = ...
fail(exchange, fault)
Exception error = ...
fail(exchange, error)