Frage

Was ist der beste Weg, um die Initialisierung bei DefaultMessagelistenercontainer -Initialisierung durchzuführen? Derzeit warte ich auf die erste Nachricht und verfolgte sie mit einer booleschen Variablen, die nicht so hübsch ist. Gibt es einen besseren Weg? Ich möchte bestimmte Daten lesen und in den Cache laden, sobald das pojo -messagebedingte Pojo gestartet ist, sodass die Nachrichtenverarbeitung schneller ist.

(Bearbeitet)

Federkonfiguration Franken:

<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>

Ich möchte eine Initialisierung erstellen, bevor eine Nachricht vom Hörer empfangen wird.

War es hilfreich?

Lösung

Kannst du nicht einfach benutzen? @PostConstruct eine Methode annotieren ItemMDPImpl Um die Startup -Initialisierung durchzuführen, genau wie jede andere Frühlingsbohne?

4.9.6 @postconstruct und @Predestroy

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top