Enabling message beans

Message beans on the application server act as the consumer of messages from a continuous queue. To enable message beans to support the continuous queue, you must uncomment lines in the XML deployment files on the application server.

Procedure

  1. For both WebSphere® Application Server and WebLogic Server environments, uncomment the following lines of code in the ejb-jar.xml file located in the ...\applications\maximo\mboejb\ejbmodule\META-INF\ folder:
    <!-- MEA ejb for MDB
    <message-driven id="MessageDriven_JMSContQueueProcessor_1">
    	<ejb-name>JMSContQueueProcessor-1</ejb-name>
    	<ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class>
    	<transaction-type>Container</transaction-type>
    	<message-destination-type>javax.jms.Queue</message-destination-type>
    	<env-entry>
    		<env-entry-name>MESSAGEPROCESSOR</env-entry-name>
    		<env-entry-type>java.lang.String </env-entry-type>
    		<env-entry-value>psdi.iface.jms.QueueToMaximoProcessor</env-entry-value>
    	</env-entry> 
    </message-driven>
    
    -->
    <!-- MEA ejb for MDB
    	<container-transaction>
    		<method>
    			<ejb-name>JMSContQueueProcessor-1</ejb-name>
    			<method-name>*</method-name>
    		</method>    
    		<trans-attribute>Required</trans-attribute>
    	</container-transaction>
    -->
    <!-- Notf MDB  
    	    <message-driven id="MessageDriven_JMSNotificationProcessor_1">
    	      <ejb-name>JMSNotificationProcessor-1</ejb-name>
    	      <ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class>
    	      <transaction-type>Container</transaction-type>
    	      <message-destination-type>javax.jms.Queue</message-destination-type>
    	      <env-entry>
    	        <env-entry-name>MESSAGEPROCESSOR</env-entry-name>
    		<env-entry-type>java.lang.String</env-entry-type>
    		<env-entry-value>com.ibm.tivoli.maximo.notification.
                   NotificationMessageProcessor</env-entry-value>
    	      </env-entry> 
    	    </message-driven>
    -->
    <!-- Notf MDB for error queue
    
        <message-driven id="MessageDriven_JMSNotificationProcessor_2">
          <ejb-name>JMSNotificationProcessor-2</ejb-name>
          <ejb-class>psdi.iface.jms.JMSContQueueProcessor</ejb-class>
          <transaction-type>Container</transaction-type>
          <message-destination-type>javax.jms.Queue</message-destination-type>
          <env-entry>
            <env-entry-name>MESSAGEPROCESSOR</env-entry-name>
    	<env-entry-type>java.lang.String</env-entry-type>
    	<env-entry-value>com.ibm.tivoli.maximo.notification.
            NotificationMessageProcessor</env-entry-value>
          </env-entry> 
          <env-entry>
            <env-entry-name>MDBDELAY</env-entry-name>
    	<env-entry-type>java.lang.Long</env-entry-type>
    	<env-entry-value>30000</env-entry-value>
          </env-entry>      
          <env-entry>
            <env-entry-name>ERRORQUEUE</env-entry-name>
    	<env-entry-type>java.lang.String</env-entry-type>
    	<env-entry-value>1</env-entry-value>
          </env-entry>      
    
        </message-driven>
    --> 
  2. In a WebSphere Application Server environment, uncomment the following lines in the ...\applications\maximo\mboejb\ejbmodule\META-INF\ibm-ejb-jar-bnd.xmi file:
    <!-- MEA ejb for MDB
    <ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding" 
      xmi:id="MessageDrivenBeanBinding_1" activationSpecJndiName="intjmsact">
    	<enterpriseBean xmi:type="ejb:MessageDriven" 
        href="META-INF/ejb-jar.xml#MessageDriven_JMSContQueueProcessor_1"/>
    </ejbBindings>-->
    
    <!-- NOTF MDB
      <ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding" 
       xmi:id="MessageDrivenBeanBinding_3" activationSpecJndiName="notfact">
        <enterpriseBean xmi:type="ejb:MessageDriven" href="META-INF/ejb-jar.xml
         #MessageDriven_JMSNotificationProcessor_1"/>
      </ejbBindings>
    -->
    <!-- NOTF MDB for error queue
      <ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding" 
       xmi:id="MessageDrivenBeanBinding_1" activationSpecJndiName="notfacterr">
        <enterpriseBean xmi:type="ejb:MessageDriven" href="META-INF/ejb-jar.xml
         #MessageDriven_JMSNotificationProcessor_2"/>
      </ejbBindings>
    --> 
  3. In a WebLogic Server environment, uncomment the following lines in the ...\applications\maximo\mboejb\ejbmodule\META-INF\weblogic-ejb-jar.xml file:
    <!-- MEA MDB
    	<weblogic-enterprise-bean>
    		<ejb-name>JMSContQueueProcessor-1</ejb-name>
    		<message-driven-descriptor>
    			<pool>            
    				<max-beans-in-free-pool>3</max-beans-in-free-pool>      
    			</pool>      
    			<destination-jndi-name>jms/maximo/int/queues/cqin</destination-jndi-name>
    			<connection-factory-jndi-name>jms/maximo/int/cf/intcf
          </ connection-factory-jndi-name>
    		</message-driven-descriptor>
    		<transaction-descriptor>
    			<trans-timeout-seconds>600</trans-timeout-seconds>
    		</transaction-descriptor>
    	<jndi-name>JMSContQueueProcessor-1</jndi-name>
    </weblogic-enterprise-bean>
    -->
  4. After you change the XML files, rebuild the EAR file and redeploy it to the application server for the changes to take effect.