Hi all,
I've defined a file:outbound-channel-adapter and enabling org.springframework.integration.file at DEBUG level I can get from log in the "sending reply Message" the full name of the generated file Payload=C:\products\...\unmatched_request_....xml:
So I would like to get the same info using a channel-interceptor and avoiding to be forced to enable org.springframework.integration.file at DEBUG level.Code:04.mag.2012 12:02:13,182 - (LISTENER SERVICE) (org.springframework.jms.listener.DefaultMessageListenerContainer#0-1) [DEBUG ]-[AbstractMessageHandler (67 )] - org.springframework.integration.file.FileWritingMessageHandler@d38976 received message: [Payload=<test/>][Headers={timestamp=1336125733166, ...}] 04.mag.2012 12:02:13,213 - (LISTENER SERVICE) (org.springframework.jms.listener.DefaultMessageListenerContainer#0-1) [DEBUG ]-[AbstractReplyProducingMessageHandler(156 )] - handler 'org.springframework.integration.file.FileWritingMessageHandler@d38976' sending reply Message: [Payload=C:\products\data\interfaces\unmatchedMessageType\unmatched_request_520191.1336125711635.0_04052012_120213.xml][Headers={timestamp=1336125733213, ...}]
So my applicationContext.xml settings:
My interceptor class where I override preSend + postSend + postReceive:Code:<int:channel id="unmatchedMessageTypeChannel"/> <int:channel-interceptor pattern="unmatchedMessageTypeChannel" order="-1"> <beans:bean class="ch.integration.jms.interceptor.LoggingFileChannelInterceptor"/> </int:channel-interceptor> <file:outbound-channel-adapter id="unmatchedMessageTypeChannel" directory="file:${unmatchedMessageType.directory}" filename-generator-expression="'... + '.xml'"/>
But from logs I'm not able to get as above the full name of the generated file ...Code:public class LoggingFileChannelInterceptor extends ChannelInterceptorAdapter { ... @Override public Message<?> preSend(Message<?> message, MessageChannel channel) { ... logger.info("#### [Channel={" + channelName + "}][ID={" + jmsMessageId + "}][Headers=" + headersStr + "][Payload={" + payload + "}][Count={" + sendCount.incrementAndGet() + "}]"); return message; } @Override public void postSend(Message<?> message, MessageChannel channel, boolean sent) { logger.info("#### - postSend - payload=" + message.getPayload().toString()); } @Override public Message<?> postReceive(Message<?> message, MessageChannel channel) { logger.info("#### - postReceive - payload=" + message.getPayload().toString()); return message; }
Any help ss greatly appreciated!!!Code:04.mag.2012 12:02:13,182 - (LISTENER SERVICE) (org.springframework.jms.listener.DefaultMessageListenerContainer#0-1) [INFO ]-[LoggingFileChannelInterceptor (55 )] - #### [Channel={unmatchedMessageTypeChannel}][ID={ID_ 520191.1336125711635.0 }][Headers={timestamp=1336125733166, ...}] 04.mag.2012 12:02:13,228 - (LISTENER SERVICE) (org.springframework.jms.listener.DefaultMessageListenerContainer#0-1) [INFO ]-[LoggingFileChannelInterceptor (61 )] - #### - postSend - payload=<test/>
Thanks and regards
nuvola


Reply With Quote