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.