Configuring message-driven beans for clusters

You need to create copies of the files that contain the code for the message-driven beans. You modify the files for the integration framework cluster to configure message-driven beans for continuous queues.

About this task

The install_home variable represents the installed location of the Maximo® Asset Management folder, which by default is ibm\SMP\maximo.

Procedure

  1. Create a copy of the ejb-jar.xml file for each cluster that you plan to deploy. For example, if you plan to deploy four clusters, create the following four copies:
    • ejb-jarui.xml for the user interface cluster
    • ejb-jarcron.xml for the cron task cluster
    • ejb-jarmif.xml for the integration cluster
    • ejb-jarrpt.xml for the reports cluster
  2. Open the ejb-jarmif.xml file that you created for the integration framework cluster and uncomment the code for the following message-driven beans:
    • MessageDriven_JMSContQueueProcessor_1
    • MessageDriven_JMSContQueueProcessor_2
    • JMSContQueueProcessor-1
    • JMSContQueueProcessor-2

    After you uncomment the section, the code in your file should match the following code:

    <!-- MEA 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 MDB for error queue -->
    	<message-driven id="MessageDriven_JMSContQueueProcessor_2">
    		<ejb-name>JMSContQueueProcessor-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>psdi.iface.jms.QueueToMaximoProcessor</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> 
    </message-driven>
    
    
    <!-- MEA MDB -->
      <container-transaction>
    		<method>
    		<ejb-name>JMSContQueueProcessor-1</ejb-name>
    		<method-name>*</method-name>
    		</method>
    		<trans-attribute>Required</trans-attribute>
    </container-transaction>
    
    <!-- MEA MDB for error queue -->
    		<container-transaction>
    		  <method>
    		  <ejb-name>JMSContQueueProcessor-2</ejb-name>
    		  <method-name>*</method-name>
    		  </method>
    		  <trans-attribute>Required</trans-attribute>
    		</container-transaction>
    
  3. If the application server for your deployment is WebSphere® Application Server, create a copy of the install_home\applications\maximo\mboejb\ejbmodule\meta-inf\ibm-ejb-jar-bnd.xmi file for each cluster that you plan to deploy. For example, if you plan to deploy four clusters in WebSphere Application Server, create the following four copies:
    • ibm-ejb-jar-bndui.xmi for the user interface cluster
    • ibm-ejb-jar-bndcron.xmi for the cron task cluster
    • ibm-ejb-jar-bndmif.xmi for the integration framework cluster
    • ibm-ejb-jar-bndrpt.xmi for the reports cluster
  4. If you are using WebSphere Application Server, open the ibm-ejb-jar-bndmif.xmi file that you created for the integration framework cluster and uncomment the code for the following message-driven bean bindings:
    • ejbbnd:MessageDrivenBeanBinding
    • ejbbnd:MessageDrivenBeanBinding

    After you uncomment the bindings, the code in your file should match the following code:

    <!-- MEA 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>
    
    <!-- MEA MDB for error queue -->
    <ejbBindings xmi:type="ejbbnd:MessageDrivenBeanBinding" xmi:id="MessageDrivenBeanBinding_1" activationSpecJndiName="intjmsacterr">
    <enterpriseBean xmi:type="ejb:MessageDriven" href="META-INF/ejb-jar.xml#MessageDriven_JMSContQueueProcessor_2"/>
    </ejbBindings>
  5. If the application server for your deployment is WebLogic Server, create four copies of install_home\applications\maximo\mboejb\ejbmodule\meta-inf\weblogic-ejb-jar.xml. For example, if you plan to deploy four clusters on WebLogic Server, create the following four copies:
    • weblogic-ejb-jarui.xml for the user interface cluster
    • weblogic-ejb-jarcron.xml for the cron task cluster
    • weblogic-ejb-jarmif.xml for the integration cluster
    • weblogic-ejb-jarrpt.xml for the reports cluster
  6. If you are using WebLogic Server, open the weblogic-ejb-jarmif.xml file that you created for the integration framework cluster and uncomment the code for the JMSContQueueProcessor sections.

    After you uncomment the section, the code in your file should match the following code:

    <!-- 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>
    
    
    <weblogic-enterprise-bean>
    		<ejb-name>JMSContQueueProcessor-2</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/cqinerr</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-2</jndi-name>
    </weblogic-enterprise-bean>


Feedback