This week's book giveaway is in the OCP forum. We're giving away four copies of OCP Oracle Certified Professional Java SE 11 Developer Practice Tests and have Scott Selikoff and Jeanne Boyarsky on-line! See this thread for details.
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.