In our project we have JMS listener and service related to this listener. Service creates work object and populates response.
The desidered behaviour is to send response even if the service fails, but database changes must be rolled back. The checkbox "Container managed transaction" on the JMS MDB listener rule is checked OFF. So we have bean management transaction. When an error occures during processing of the request we use Rollback activity method to discard database changes. But it causes rolling back of the JMS tranasaction also. Other side of jms interaction gets no response.
Such a configuration worked fine on Pega 6 before we migrated to Pega 7. I wonder if it's a misconfiguration of Pega rules, WebSphere settings and so on or bug in Pega 7?
What is your JMS listener data instance setting for the following (under Listener properties tab) - can you compare Pega 6.x with that of Pega 7.x? As far as I know, there should be no change in the functionality between pega versions.
Send error messages?
If selected, and a processing error occurs that is not handled by a configured response message, the listener sends or publishes an empty message that contains the error message in an application-specific JMS property.
Error messages can be sent only if the client application has set the JMSReplyTo header value in the request message. They are sent to the reply queue specified in that field.
This option is disabled if you select No Reply as the Preference on the JMS Properties tab.