Add 'aop' namespace t you configuration and change your bean definition to look like this:
Code:
<bean id="crbForwardable" class="it.alten.intesasanpaolo.contratto.domain.ev ent.CrbForwardable" scope="prototype">
<aop:scoped-proxy/>
</bean>
Read more about it here http://static.springsource.org/sprin...ther-injection
The bottom line is that 'prototype' will return a new instance every time you execute context.getBean(). So the filter is no different, it calls getBean() on application context and gets its own instance, but since the filter itself is singleton you end up using the same instance of the underlying bean. So scoped-proxy is the mechanism to resolve this issue.
The bigger problem is the fact that your bean is NOT singleton which means it has state which is counter-intuitive to Messaging where processors are stateless and state is maintained in the Message, thus making message-based systems very scalable because they are inherently stateless.
Do you want to share as to why your beans are stateful?