Skip to content

Skip jms_replyTo and jms_type headers in DefaultJmsHeaderMapper to support Oracle Advanced Queuing (Oracle AQ) JMS provider [INT-1229] #5239

Closed
@spring-operator

Description

@spring-operator

Seva Lo opened INT-1229 and commented

JMS messages coming from a durable, message-driven subscription to an Oracle AQ's topic "do not support" jms_replyTo and jms_type headers. oracle.jms.AQjmsAdtMessage.getJMSReplyTo() and oracle.jms.AQjmsAdtMessage.getJMSType() methods simply throw out an oracle.jms.AQjmsException: JMS-102: Feature not supported. So DefaultJmsHeaderMapper.toHeaders(javax.jms.Message) throws that too when trying to extract the headers.

Workaround: create a custom JmsHeaderMapper implementation and set it to the channel adapter.

To support that nicer we could catch and ignore those exceptions in DefaultJmsHeaderMapper.toHeaders(javax.jms.Message) for Oracle AQ or allow for more flexible (ConfigurableJmsHeaderMapper something?) configuration (perhaps passing the list of JMS API headers we are interested in) without subclassing.


Affects: 1.0.4, 2.0 M5

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions