Question

Quelle est la meilleure façon d'effectuer l'initialisation lors de l'initialisation DefaultMessageListenerContainer? Actuellement, je suis en attente pour le premier message et garder une trace de celui-ci en utilisant une variable booléenne, qui n'est pas si jolie. Est-il possible de mieux? Je veux lire et charger certaines données dans le cache une fois que le message Driven POJO est démarré, de sorte que le traitement des messages est plus rapide.

(Edited)

Spring Config Fragement:

<bean id="itemListener" class="com.test.ItemMDPImpl" autowire="byName" />

<bean id="itemListenerAdapter" class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
    <property name="delegate" ref="itemListener" />
    <property name="defaultListenerMethod" value="processItems" />
    <property name="messageConverter" ref="itemMessageConverter" />
</bean>

<bean class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="itemMqConnectionFactory" />
    <property name="destinationName" value="${item_queue_name}" />
    <property name="messageListener" ref="itemListenerAdapter" />
    <property name="transactionManager" ref="jtaTransactionManager" />
    <property name="sessionTransacted" value="true" />
    <property name="concurrentConsumers" value="1" />
    <property name="receiveTimeout" value="3000" />
</bean>

Je voudrais avoir une initialisation effectuée avant tout message est reçu par l'auditeur.

Était-ce utile?

La solution

Tu ne peux pas simplement utiliser @PostConstruct pour annoter une méthode sur ItemMDPImpl pour effectuer l'initialisation du démarrage, comme tout autre grain de printemps?

4.9.6 @PostConstruct et @PreDestroy

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top