Examples of how to define the sharedSubscription property

You can define the sharedSubscription property of an activation specification within a WebSphere® Application Server Liberty server.xml file. Alternatively, you can define the property within a message driven bean (MDB) using annotations.

Example: defining within a Liberty server.xml file

Within a WebSphere Application Server Liberty server.xml file, you define an activation specification as shown in the following example. This example creates a durable shared subscription to a queue manager on localhost/port 1490.

<jmsActivationSpec id="SubApp/SubscribingEJB/SubscribingMDB" authDataRef="JMSConnectionAlias">
<properties.wmqJms hostName="localhost" port="1490" maxPoolDepth="5" subscriptionName="MySubName" 
subscriptionDurability="DURABLE" sharedSubscription="true"/>
</jmsActivationSpec>

Example: defining within an MDB

You can also define the sharedSubscription property within the MDB using annotations as shown in the following example:

@ActioncationConfigProperty(propertyName ="sharedSubscription",    
propertyValue = "true")
The following example shows a piece of MDB code that uses the annotations method:

/**
 * Message-Driven Bean example using Annotations for configuration
 */
@MessageDriven(
  activationConfig = { 
     @ActivationConfigProperty(
        propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
     @ActivationConfigProperty(
        propertyName = "sharedSubscription", propertyValue = "TRUE"),		
     @ActivationConfigProperty(
        propertyName = "destination", propertyValue = "JNDI_TOPIC_NAME")
   }, 
   mappedName = "Stock/IBM")
public class SubscribingMDB implements MessageListener {

   // Default constructor. 
   public SubscribingMDB() {
   }
	
   // @see MessageListener#onMessage(Message)
   public void onMessage(Message message) {
      // implement business logic here
   }

}