MessageTransformingHandler not calling registered transformer
Hi all,
I have a transformer configured in my spring integration job, sometimes when I start the service it gets to a configured MessageTransformingHandler which then calls the attached transformer, the message is transformed, and then replies correctly with the newly transformed message. However, with no changes whatsoever, sometimes when I start the program it gets to the MessageTransformingHandler which does NOT seem to call the transformer and immediately replies with a message with a payload of 'true' and not what the payload has been transformed to e.g. in a good case (shortened slightly for privacy reasons with the object values):
10:22:12.167 [task-scheduler-1] DEBUG o.s.i.t.MessageTransformingHandler - org.springframework.integration.transformer.Messag eTransformingHandler@196fe6d6 received message: [Payload=record@2dd06f21...]
10:22:12.168 [task-scheduler-1] INFO u.a.c.i.d.t.IdentityTransformerSims - Running identity transformer for input type ...
10:22:12.192 [task-scheduler-1] DEBUG o.s.i.t.MessageTransformingHandler - handler 'org.springframework.integration.transformer.Messa geTransformingHandler@196fe6d6' sending reply Message: [Payload=record@2dd06f21....
In the bad case:
11:12:30.360 [task-scheduler-1] DEBUG o.s.i.t.MessageTransformingHandler - org.springframework.integration.transformer.Messag eTransformingHandler@6f0babe8 received message: [Payload=record@668dd96c...]Headers={timestamp=1347444750360, id=96ff404a-5257-48ad-9853-1f3133db2f24, correlationId=ac2e98b0-ef40-41ef-912f-110f988e0fca, sequenceSize=1, sequenceDetails=[[9d5773f1-814b-418a-83f2-d3d8358d289a, 1, 1]], sequenceNumber=1}]
11:12:30.360 [task-scheduler-1] DEBUG o.s.i.t.MessageTransformingHandler - handler 'org.springframework.integration.transformer.Messa geTransformingHandler@6f0babe8' sending reply Message: [Payload=true][Headers={timestamp=1347444750360, id=96ff404a-5257-48ad-9853-1f3133db2f24, correlationId=ac2e98b0-ef40-41ef-912f-110f988e0fca, sequenceSize=1, sequenceDetails=[[9d5773f1-814b-418a-83f2-d3d8358d289a, 1, 1]], sequenceNumber=1}]
It seems to 'skip' the transformer which is configured, and go straight to a reply with the payload of 'true' ( which I assume is added somewhere by default in the AbstractReplyProducingMessageHandler).
Does anybody know why this behaviour is non-deterministic. I am using integration-core (2.1.3.RELEASE) and Spring (3.1.2.RELEASE).