[ https://issues.apache.org/jira/browse/TUSCANY-3698?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ant elder closed TUSCANY-3698. ------------------------------ Resolution: Fixed Now also committed to 1.x and the 1.6.1 branch so should be in 1.6.1 release. > JMS Binding erases the stack trace of RuntimeException's > -------------------------------------------------------- > > Key: TUSCANY-3698 > URL: https://issues.apache.org/jira/browse/TUSCANY-3698 > Project: Tuscany > Issue Type: Bug > Components: Java SCA JMS Binding Extension > Affects Versions: Java-SCA-1.5, Java-SCA-1.5.1, Java-SCA-1.6, > Java-SCA-2.0-M1, Java-SCA-2.0-M2, Java-SCA-2.0-M3, Java-SCA-2.0-M4, > Java-SCA-2.0-M5 > Environment: Tuscany Java SCA 1.6 > Windows XP SP3 > JDK 1.6 > Reporter: Padraig Myers > Fix For: Java-SCA-2.0-M5, Java-SCA-1.6 > > Attachments: 3698.padraig.ver2.patch, 3698.skurz.patch, > Patch_TUSCANY-3698 > > > In the file > org.apache.tuscany.sca.binding.jms.provider.AbstractMessageProcessor there is > a method createFaultMessage(), this method creates a JMS fault message from > an exception that is passed into the method. > However if the messages is a RuntimeException a new exception is created, > thereby losing the stack trace from the original exception. > The offending piece of code is > ObjectMessage message = session.createObjectMessage(); > String causeMsg; > if (o instanceof RuntimeException) { > message.setObject(new > ServiceRuntimeException(o.getMessage())); > } else { > // for a checked exception return the checked exception > message.setObject(o); > } > message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY, > true); > return message; > there is no reason that RuntimeException's should be treated any differently > and therefore the code above can be replaced with > ObjectMessage message = session.createObjectMessage(); > message.setObject(o); > message.setBooleanProperty(JMSBindingConstants.FAULT_PROPERTY, > true); > return message; > This means that the component that gets this JMS message will be able to log > the true source of the exception and not lose all the stack trace information. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.