This is intended to be the next step in MDB/connector improvements following the implementation of #60 in EJB 3.2.
In EJB 3.2, section 5.6.5 "Message-Driven Bean with No-Methods Listener Interface" added support for a new type of MDB, one in which the listener method had no methods. In this case the proxy supplied to the resource adapter by the createEndpoint method exposed all the public methods of the bean class.
This allows the callback method to be determined by the resource adapter at runtime, by examining annotations on each method.
However this feature is only available if the MDB implements a no-methods listener interface. This restriction was added purely because this feature was added late in the development EJB 3.2 and it was considered "risky" to make it available in other cases..
It proposed that this restriction now be removed, so that the proxy supplied to the resource adapter by the createEndpoint method exposes all the public methods of the bean class, irrespective of what the listener interface is or whether there is a "listener" interface at all.
This change would then allow the JMS specification to define a set of new annotations for JMS MDBs without the need to define a no-method listener interface.
Affected Versions
[3.2]
This is intended to be the next step in MDB/connector improvements following the implementation of #60 in EJB 3.2.
In EJB 3.2, section 5.6.5 "Message-Driven Bean with No-Methods Listener Interface" added support for a new type of MDB, one in which the listener method had no methods. In this case the proxy supplied to the resource adapter by the createEndpoint method exposed all the public methods of the bean class.
This allows the callback method to be determined by the resource adapter at runtime, by examining annotations on each method.
However this feature is only available if the MDB implements a no-methods listener interface. This restriction was added purely because this feature was added late in the development EJB 3.2 and it was considered "risky" to make it available in other cases..
It proposed that this restriction now be removed, so that the proxy supplied to the resource adapter by the createEndpoint method exposes all the public methods of the bean class, irrespective of what the listener interface is or whether there is a "listener" interface at all.
This change would then allow the JMS specification to define a set of new annotations for JMS MDBs without the need to define a no-method listener interface.
Affected Versions
[3.2]