簡體   English   中英

Spring Integration入站JMS適配器錯誤通道未調用

[英]Spring integration inbound jms adapter error-channel does not invoke

該方案是入站jms適配器->服務激活器(數據庫搜索,業務邏輯,插入或更新)

<int-jms:message-driven-channel-adapter id="swiftAdapterInput" channel="mt950"
        connection-factory="connectionFactory" destination-name="${integration.swift.jms.queue.from}" pub-sub-domain="false"
        auto-startup="false" error-channel="errorChannel" transaction-manager="transactionManager" acknowledge="transacted" />

<int:service-activator input-channel="errorChannel" ref="errorHandler" />

<bean id="errorHandler" class="nest.integration.utils.error.ErrorHandler" />


<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

當在我的服務激活器中引發異常時,我的errorHandler可以正常工作,但異常是在結束時(提交后),例如db unique constrat異常,該消息不會進入錯誤通道,而是僅回滾到jms隊列。

但在這種情況下,我也需要我的errorHander,因為我需要發送電子郵件異常等信息。

提前准備好坦克,塔馬斯(Tamas)

我認為您必須在errorHandler精簡TX的問題,但是不要提交。

這就是為什么從DefaultMessageListenerContainer獲得egyediségre vonatkozó megszorítás nem tel的原因,因為該DB錯誤是在提交時引起的。

參見這里: Spring Integration中的異常:如何記錄但不攔截

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM