Spring Bean Custom Scope JMS

Używam Spring Framework dojednocześnie pobiera wiadomości z kolejki JMS za pomocąDefaultMessageListenerContainer. Chcę mieć możliwość tworzenia nowych instancji ziaren, które są automatycznie przypisywane do każdej przychodzącej wiadomości. Pomyślałem, że ustawienie zasięgu = „prototyp” będzie działać, ale wydaje się, że nie działa. Czy ktoś wie oniestandardowy zakres fasoli, który tworzy nowe instancje dla wiadomości JMS? Podobnie jak w przypadku żądania „żądania” dla żądań HTTP?

Zdaję sobie sprawę, że mogłem zrobić com.sample.TestListener „BeanFactoryAware”, a następnie po prostu wykonać getBean („foo”) w moim onMessage, ale chciałem uniknąć umieszczania zależności Spring w moim kodzie.

Z góry dziękuję za wszelką pomoc!

Przykład poniżej, chcę, aby nowe instancje „com.sample.Foo” i wszystkie fasole były wstrzykiwane do niego za każdym razem, gdy przychodzi wiadomość.

<bean id="consumer"
    class="com.sample.TestListener">
    <constructor-arg ref="foo" />
</bean> 

<!--Configures the Spring Message Listen Container. Points to the Connection 
    Factory, Destination, and Consumer -->
<bean id="MessageListenerContainer"
    class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="CachedConnectionFactory" />
    <property name="destination" ref="Topic" />
    <property name="messageListener" ref="consumer" />
    <property name="concurrency" value="10"/> 
</bean> 

<bean id="foo" class="com.sample.Foo">
    <property name="x" ref="xx" />
    <property name="y" ref="yy" /> 
    <property name="z" ref="zz" />
</bean>

questionAnswers(2)

yourAnswerToTheQuestion