You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Martin Landua (JIRA)" <ji...@apache.org> on 2007/10/30 16:50:23 UTC

[jira] Commented: (SM-1120) Throwable is not cought in BaseLifeCycle which can result in open transactions

    [ https://issues.apache.org/activemq/browse/SM-1120?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40530 ] 

Martin Landua commented on SM-1120:
-----------------------------------

Sorry, forgot to attach the patch.

Index: C:/jboss/servicemix-SNAPSHOT/common/servicemix-common/src/main/java/org/apache/servicemix/common/BaseLifeCycle.java
===================================================================
--- C:/jboss/servicemix-SNAPSHOT/common/servicemix-common/src/main/java/org/apache/servicemix/common/BaseLifeCycle.java	(revision 590120)
+++ C:/jboss/servicemix-SNAPSHOT/common/servicemix-common/src/main/java/org/apache/servicemix/common/BaseLifeCycle.java	(working copy)
@@ -44,7 +44,8 @@
     public void onMessageExchange(MessageExchange exchange) {
         try {
             processExchange(exchange);
-        } catch (Exception e) {
+        } catch (Throwable t) {
+        	Exception e = new Exception(t);
             logger.error("Error processing exchange " + exchange, e);
             try {
                 // If we are transacted and this is a runtime exception

> Throwable is not cought in BaseLifeCycle which can result in open transactions
> ------------------------------------------------------------------------------
>
>                 Key: SM-1120
>                 URL: https://issues.apache.org/activemq/browse/SM-1120
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-common
>    Affects Versions: 3.1
>         Environment: Everywhere
>            Reporter: Martin Landua
>
> The onMessageExchange method in BaseLifeCycle only catches Exceptions. If a Throwable is thrown during processing of the Message Exchange, the transaction will not be rolled back.
> As a result, the transaction keeps associated with the thread, which is returned to the thread pool. Whenever this thread is being reused, it may lead to "Already associated to a transaction" exception in any further message processing (which is not related to the actual problem in any way).
> Best regards
> Martin Landua

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.