The message-driven bean class may have superclasses and/or superinterfaces. If the message-driven bean has superclasses, the methods of the messagelistener interface, lifecycle callback interceptor methods, timeout callback methods, the ejbCreatemethod, and the methods of the Mes-sageDrivenBeaninterface may be defined in the message-driven bean class or in any of its super-classes.
A message-driven bean class must not have a superclass that is itself a message-driven bean class
5.6.3 Message-Driven Bean Superclasses
A message-driven bean class is permitted to have superclasses that are themselves message-driven bean classes
The above 2 statements seems to be contradictory.
Please advise how these 2 statements(italicized) are possible.
In 5.6.2. it is specified that certain methods can be defined on a superclass. Like the onMessage() method is allowed to be on a superclass as long as the superclass is not a Message Driven Bean. In that case the onMessage() method won't be inherited.
In 5.6.3. it is specified that a Message Driven Bean can have a MDB as superclass which is merely a convenient use of implementation inheritence.