This week's book giveaway is in the OCPJP forum. We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line! See this thread for details.
Accordingly to section 5.4.2 of the ejb core specification:
If the message-driven bean class implements more than one interface other than java.io.Serializable, java.io.Externalizable, or any of the interfaces deﬁned by the javax.ejb package, the message listener interface must be speciﬁed by the messageListenerInterface element of the MessageDriven annotation or the messaging-type element of the message-driven deployment descriptor element.
First, the publish/subscribe concept is related to Topics, not to Queue. Many clients subscribe to a topic and are notified when the topic they have subscribed to has arrived. So, the subscriptionDurability is related to Topics, not Queues.
I've never tried the subscriptionDurability attribute, so I can only quote the spec 220.127.116.11 JMS Message-Driven Beans :
The property name used to specify whether a durable or non-durable subscription should be used is subscriptionDurability. The value for this property must be either Durable or NonDurable for a JMS message-driven bean. If a topic subscription is specified and subscriptionDurability is not specified, a non-durable subscription is assumed.
Durable topic subscriptions, as well as queues, ensure that messages are not missed even if the EJB server is not running. Reliable applications will typically make use of queues or durable topic subscriptions rather than non-durable topic subscriptions.
If a non-durable topic subscription is used, it is the container�s responsibility to make sure that the message driven bean subscription is active (i.e., that there is a message driven bean available to service the message) in order to ensure that messages are not missed as long as the EJB server is running. Messages may be missed, however, when a bean is not available to service them. This will occur, for example, if the EJB server goes down for any period of time.