[ 
https://issues.apache.org/activemq/browse/AMQ-2892?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Benoit Xhenseval updated AMQ-2892:
----------------------------------

    Description: 
The ServerSessionImpl code does not report errors correctly (i.e. never shows 
the stacktrace):

in the run() method, the catch is like this:
{code:title=ServerSessionImpl.java|borderStyle=solid}
            } catch (Throwable e) {
                stale = true;
                if ( log.isInfoEnabled() ) {
                    log.info("Endpoint failed to process message. Reason: " + 
e.getMessage());                    
                } else if ( log.isDebugEnabled() ) {
                    log.debug("Endpoint failed to process message.", e);
                }
{code}
            

but this means that you will never see the actual exception...(since if DEBUG 
is enabled, INFO would usually always be, therefore only the log.info is only 
called and this does not provide the stacktrace...) the code would be better 
like this:

{code:title=ServerSessionImpl.java|borderStyle=solid}
            } catch (Throwable e) {
                stale = true;
                if ( log.isDebugEnabled() ) {
                                        log.debug("Endpoint failed to process 
message.", e);
                } else if ( log.isInfoEnabled() ) {
                    log.info("Endpoint failed to process message. Reason: " + 
e.getMessage());                    
                } 
{code}

  was:
The ServerSessionImpl code does not report errors correctly (i.e. never shows 
the stacktrace):

in the run() method, the catch is like this:
            } catch (Throwable e) {
                stale = true;
                if ( log.isInfoEnabled() ) {
                    log.info("Endpoint failed to process message. Reason: " + 
e.getMessage());                    
                } else if ( log.isDebugEnabled() ) {
                    log.debug("Endpoint failed to process message.", e);
                }
            

but this means that you will never see the actual exception...(since if DEBUG 
is enabled, INFO would usually always be, therefore only the log.info is only 
called and this does not provide the stacktrace...) the code would be better 
like this:

            } catch (Throwable e) {
                stale = true;
                if ( log.isDebugEnabled() ) {
                                        log.debug("Endpoint failed to process 
message.", e);
                } else if ( log.isInfoEnabled() ) {
                    log.info("Endpoint failed to process message. Reason: " + 
e.getMessage());                    
                } 



> ServerSessionImpl in module ra does not report exception with stacktrace
> ------------------------------------------------------------------------
>
>                 Key: AMQ-2892
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2892
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.4.0
>         Environment: Mac OX 10.6
>            Reporter: Benoit Xhenseval
>            Priority: Minor
>
> The ServerSessionImpl code does not report errors correctly (i.e. never shows 
> the stacktrace):
> in the run() method, the catch is like this:
> {code:title=ServerSessionImpl.java|borderStyle=solid}
>             } catch (Throwable e) {
>                 stale = true;
>                 if ( log.isInfoEnabled() ) {
>                     log.info("Endpoint failed to process message. Reason: " + 
> e.getMessage());                    
>                 } else if ( log.isDebugEnabled() ) {
>                   log.debug("Endpoint failed to process message.", e);
>                 }
> {code}
>             
> but this means that you will never see the actual exception...(since if DEBUG 
> is enabled, INFO would usually always be, therefore only the log.info is only 
> called and this does not provide the stacktrace...) the code would be better 
> like this:
> {code:title=ServerSessionImpl.java|borderStyle=solid}
>             } catch (Throwable e) {
>                 stale = true;
>                 if ( log.isDebugEnabled() ) {
>                                       log.debug("Endpoint failed to process 
> message.", e);
>                 } else if ( log.isInfoEnabled() ) {
>                     log.info("Endpoint failed to process message. Reason: " + 
> e.getMessage());                    
>                 } 
> {code}

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

Reply via email to