1. ホーム
  2. java

[解決済み] JMSメッセージリスナーの実行に失敗し、ErrorHandlerが設定されていない

2022-02-09 04:47:53

質問

Springを使用してJMSメッセージをリスニングすると、上記のエラーが発生します。

私は、JMSリスナーにErrorhandlerを追加する方法を疑問に思っています。

どのように解決するのですか?

に物件があります。 AbstractMessageListenerContainer :

<bean id="listener" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="errorHandler" ref="someHandler"/>
    <property name="destinationName" value="someQueue"/>
    <property name="connectionFactory" ref="connectionFactory"/>
</bean>

どこ someHandler を実装したビーンです。 ErrorHandler :

@Service
public class SomeHandler implements ErrorHandler {

    @Override
    public void handleError(Throwable t) {
        log.error("Error in listener", t);
    }
}

ただし、以下の点に注意してください。 ドキュメンテーション :

このメッセージリスナー[...]のデフォルトの動作は、次のようになります。 そのような例外はエラーレベルで記録する . [しかし、エラー処理が必要な場合は、ErrorHandlerストラテジーの任意の実装をsetErrorHandler(ErrorHandler)メソッドに提供することができる。

ログをチェックしてみてください。もしかしたら、すでに例外が記録されているかもしれません。