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, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content