Hey dev community, Would like to get your opinion on this. To make ActiveMQ Classic fully support JMS 2.0/Jakarta Messaging 3.1, it needs to support CompletionListener interface for specifying callback once the asynchronous send is completed. Currently, ActiveMQ Classic has its own public interface AsyncCallback for client applications to specify the callback. However, the behaviour of AsyncCallback is not JMS 2.0 compliant and it is specific to ActiveMQ.
In my opinion, it will be a confusing experience for users because there are two mechanisms for specifying callbacks and I wonder if there are any advantages of using AsyncCallback over CompletionListener. Either: 1. Deprecate AsyncCallback (throw exception) at the release where we support CompletionListener. 2. Change AsyncCallback behaviour to align with CompletionListener at that release. 3. Keep supporting these two different interfaces/behavior going forward. Personally I am advocating for 2 but would like to hear what the community thinks and check if I am missing something. Thanks, Ken