Ich habe eine federIntegrationsProjekt, das macht folgendesFrühlings-Integration Standard Retry Konfiguration
1.) Read messages from a queue
2.) Transform messages
3.) Send transformed messages to an Api
Relevante Config für Schritt 1
<bean id="cachingConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="MQConnectionFactory" />
<property name="sessionCacheSize" value="10"/>
</bean>
<bean id="requestQueue" class="com.ibm.mq.jms.MQQueue">
<constructor-arg index="0" value="${queuemanager}"/>
<constructor-arg index="1" value="${incoming.queue}"/>
</bean>
<integration:poller id="poller" default="true" fixed-delay="1000"/>
<jms:message-driven-channel-adapter id="jmsIn"
destination="requestQueue"
channel="inputJsonConversionChannel"
connection-factory="cachingConnectionFactory" />
Schritt 3 ist ein Service-Activator, und im Falle von ein Fehler (nicht HTTP-Status 201) Ich werfe eine benutzerdefinierte Ausnahme.
Relevante Config für Schritt 3
<int:service-activator input-channel="ApiChannel" ref="EventApiClient" method="post"/>
<int:service-activator input-channel="errorChannel" ref="PListenerExceptionHandler" method="handleFailure"/>
Das Verhalten, das auftritt, ist, dass es versucht, hält die gleichen Fehler immer und immer wieder zu verbinden und bekommt.
wollte ich wissen, ob jemand
mir erklären könnte, wie ist das Standardwiederholungs konfiguriert/anspringen?
Wie kann ich die Fehler auf einen Fehlerkanal umleiten, weil Fehler in Schritt 1 jetzt den globalen Fehlerkanal und den Standardfehlerhandler verwenden, den ich erstellt habe. Aber Fehler vom Service Activator sind nicht.
Prost
Kris
Sie müssen Ihre Konfiguration zeigen und uns sagen, welche Technologie die Warteschlange ist - RabbitMQ? JMS? –
Entschuldigung ... Ich habe den Beitrag für mehr Klarheit aktualisiert. – krisrr3