Skip to content

Enhance JMS support #664

@eyalkoren

Description

@eyalkoren

Following #650, cover some more use cases.
This should be used as a meta issue, for the following enhancements (ordered according to prioritization):

  • Reverse polling APIs transaction creation logic (start transaction on method exit and end transaction on method enter) and avoid creating polling transactions when returned message is null
  • Capture destination name (ie queue/topic name) - requires schema change
  • Add special care for javax.jms.TemporaryQueue/Topic and Tibco temp queues/topic (starting with $TMP$)
  • Capture message bodies of text Messages (we can rely on the javax.jms.Message#isBodyAssignableTo API for this purpose)
  • Avoid creating Transactions in onMessage and receive when active==false
  • Disable instrumentation (message tagging) for specific queues/topics as suggested in Should add support for instrumenting the listeners with parameter as subTypes of javax.jms.Message (i.e. javax.jms.MapMessage) #710 - requires schema change
  • Capture message headers/properties - requires schema change
  • JMS 2 async send APIs (CompletionListener) both in JMSProducer and MessageProducer Opened Support JMS 2 async send APIs #978 instead.
  • Reply-to/correlation-ID mechanisms not tested - at least cover in tests, see if requires additional implementation Pending feedback.
  • Capture message bodies of additional message types (optional) Pending feedback.
  • Capture broker name (optional) Pending feedback.

Metadata

Metadata

Assignees

Labels

enhancementEnhancement of an existing feature

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions