This is a request for a simplified JMS API. This would achieve the following goals:
- To reduce the number of objects needed to send and receive messages, and in particular to combine the JMS 1.1 Connection, Session, MessageProducer and MessageConsumer objects as much as possible.
- To take advantage of the fact that this is a new API to simplify method signatures and make other simplifications which cannot be made to the old API because it would break backwards compatibility.
- To maintain a consistent style with the existing API where possible so that users of the old API feel it to be an evolution which that can learn quickly.
- To support, and offer benefits to, both Java EE and Java SE applications.
- To allow resource injection to be exploited in those environment which support it, whilst still offering significant improvements for those environments which do not.
- To provide the option to send and receive message payloads to be sent and received directly without the need to use javax.jms.Message objects.
- To remove as much as possible the need to catch JMSException on method calls
- To be functionally complete. The old API will remain to provide backwards compatibility. However the new API is intended to be functionally as complete as the old JMS 1.1 API. Users should not need to switch back to the old API to perform an operation that is unavailable in the new API.