This should fix #29763.
Comment From: fml2
Could this also be backported to the 5.x line?
Comment From: sbrannen
As a proof of concept, I pushed changes to https://github.com/spring-projects/spring-framework/compare/main...sbrannen:spring-framework:issues/gh-29790-default-jms-subscription-name that include the method signature in the generated subscription name (in order to generate unique subscription names for overloaded @JmsListener
methods).
However, before pushing those changes I decided to verify the requirements of a subscription name in the JMS 3.0 spec. That points out that characters such as (
, )
, ,
, and #
are not guaranteed to be supported. In addition, there's only a guarantee of support for up to 128 characters.
In light of that, I have decided to use a <FQCN>.<method name>
(FQCN: fully qualified class name) format instead of the <FQCN>#<method name>
format in this PR.
Comment From: sbrannen
Could this also be backported to the 5.x line?
Yes, we will backport this to 5.3.x
.
Comment From: fml2
In light of that, I have decided to use a
<FQCN>.<method name>
(FQCN: fully qualified class name) format instead of the<FQCN>#<method name>
format in this PR.
This is perfectly OK for me. The main thing is that the name is meaningful and not fixed and is equal to the name of a rather internal Spring class.
Comment From: sbrannen
This has been merged into main
in ad4e0d9ad75b011aae5a7ca3eb34240148e7802c and revised in 04321d0577aca893913fd9db7619d9b836ae058b.