 <p>Well, looks like it just enough to move you Cache logic to the <code>ChannelInterceptor</code>:</p> <pre><code>&lt;int:channel id="tcpInbound"&gt; &lt;int:interceptors&gt; &lt;bean class="com.my.proj.si.CachePutChannelInterceptor" &lt;/int:interceptors&gt; &lt;/int:channel&gt; </code></pre> <p>And use this interceptor from any place when you need to use Cache.</p>