Question regarding notifying JMS queues and RuntimeException within ESB projects

Solution Unverified - Updated -

Issue

  • I am using jms-jca-provider and trying to send a notification to a JMS queue about an error which has taken place within an action pipeline. I use a NotifyQueues target to do this and everything works as expected when non-RuntimeExceptions occurs. However, when a RuntimeException takes place, no message is sent to the specified JMS queue and the ESB message seems to be redelivered again and again until it is sent to the DLQ . And added to this redelivery of the ESB message the following ERROR message can be seen in the console output:
ERROR [JmsServerSession] Unexpected error delivering message delegator->JBossMessage[5489123046654009]:PERSISTENT, deliveryId=9
  • What am I doing wrong? Why isn’t the notification sent when an RuntimeException occur ?

  • What is the difference between a transacted jms-provider and a transacted jms-jca-provider ? I was under the impression that a jms-jca transaction covers the retrieving of an ESB-message from an ESB-aware JMS queue and the entire process within the action-pipeline whilst the jms transaction only covers the retrieving of an ESB-message and delivery to the action-pipeline. Could you clarify this ? Could you confirm if it is true that no rollback takes place if a non-RuntimeException occur when a jms-jca-provider is used (and the transacted flag is set to true) or have I misunderstood this ?

  • How do I implement a custom JMS notifier which will deliver a JMS message outside of the ESB service transaction ?

Environment

  • JBoss Enterprise Service Oriented Architecture Platform (SOA-P)
    • 5.1.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In