throw exception to rollback generates WARN message from spring
I have a fairly simple integration chain which, on occasion, throws a RuntimeException in order to cause a message to be rolled back so that it can be redelivered. However, whenever I do so, spring integration throws a WARN level log message with a mile-long exception stack trace, of course). I don't really want to just disable logging of warn level messages from spring integration, since failures to connect to an exclusive JMS queue because another listener is already consuming it also generates a warn level message from the same component, and I want to see that one.
Specifically, the message says that the problem is the throwing of an exception without registration of an ErrorHandler. However, there really isn't any mention made of registering an ErrorHandler in the spring-integration documentation or in the xml schema. There is mention made of an error channel, but routing an error with a message to an error channel is exactly what I don't want to have happen. Is there some other way to cause a message to roll back after it has already been transformed into some native object via a transformer, since I don't have access to a JMSMessage after the message-driven-channel-adapter has passed it along.
At the moment, I'm just throwing RuntimeExceptions at random in order to test message rollback, but eventually, the service-activator at the end of the chain could wind up throwing an exception intended to cause rollback and redelivery. The functionality works just fine, but it is unbelievably noisy in the logs.
<channel id="workInputChannel" />
<chain id="listenerChain" input-channel="workInputChannel">
<service-activator ref="workerListener" method="typedReceive"/>