spring-projects / spring-projects/spring-ws
Support fire & forget in JmsMessageSender [SWS-914]
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 346
- Forks
- 323
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 7
Description
Koos Gadellaa opened SWS-914 and commented
The org.springframework.ws.transport.jms.JmsMessageSender sends a message for webservicetemplates. However, this can be a fire & forget message, returning void.
If this happens, the underlying JmsSenderConnection (created by the JmsMessageSender) creates a temporary response queue, as specified in its documentation.
However, as is, it is not possible to not do this. For a fire & forget service, no response is necessary (nor wanted), and no response queues should be created.
I would like to see the option to not receive a response be a part of the jms URI. e.g. by having &replyToName=empty handle this implicitly, or by a separate value (&noResponse=true). This could then inform the JmsSenderConnection, which can then skip the whole handling of responses, as there are none... Or have it be a property which can be set on the sender.
For now, I've created my own JmsMessageSender, which does not create a temporary queue, but I think it would be nice if you are able to specify this on the JmsMessageSender.
Affects: 2.2.0.RELEASE, 2.2.1
1 votes, 2 watchers
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with org.springframework.ws.transport.jms.JmsMessageSender and the underlying JmsSenderConnection described in the issue. Review how the JMS URI and sender properties currently determine response handling; done means a fire-and-forget request can be configured without creating a temporary response queue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spring
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100