This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new c8e1689981c4 CAMEL-24083: camel-sjms - Use consumer exception handler 
for async failures
c8e1689981c4 is described below

commit c8e1689981c4c27f7513ec15bcdc548884986cef
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Jul 15 15:28:40 2026 +0200

    CAMEL-24083: camel-sjms - Use consumer exception handler for async failures
    
    Same fix as CAMEL-24069 (camel-spring-rabbitmq) but in camel-sjms.
    When asyncConsumer=true and an exchange fails after the listener returns,
    the failure was silently dropped because endpoint.getExceptionHandler()
    is null by default. Use consumer.getExceptionHandler() instead.
    
    Closes #24722
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../camel/component/sjms/consumer/EndpointMessageListener.java      | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
index 382140bf94d1..f8b90213a1bc 100644
--- 
a/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
+++ 
b/components/camel-sjms/src/main/java/org/apache/camel/component/sjms/consumer/EndpointMessageListener.java
@@ -456,10 +456,8 @@ public class EndpointMessageListener implements 
SessionMessageListener {
                     // method and rethrow it
                     exchange.setException(rce);
                 } else {
-                    // we were done async, so use the exception handler
-                    if (endpoint.getExceptionHandler() != null) {
-                        endpoint.getExceptionHandler().handleException(rce);
-                    }
+                    // we were done async, so use the consumer exception 
handler
+                    consumer.getExceptionHandler().handleException("Error 
processing exchange", exchange, rce);
                 }
             }
 

Reply via email to