Welcome to Maximo Times

All Things Maximo

My name is Chon, feel free to ask me any question regarding Maximo. I will try to answer them as best as I can.

Member Login

Lost your password?

Not a member yet? Sign Up!

Math Required!
What is the sum of: 4 + 3    

Please leave these two fields as-is:

Protected by Invisible Defender. Showed 403 to 167 bad guys.

Maximo Tips & Tricks

Featured Solutions
EZMaxMobile – Maximo Mobile Integration

EZMaxMobile – Maximo Mobile Integration

Screen shots (click to enlarge & click image to close): [nggallery id=4] Real Time Maximo Mobile Connectivity InterPro Solutions’ has developed a mobile integration framework that provides real time connectivity to Maximo via WiFi or 3G connectivity. Devices such as iPhone, iPad, iTouch, Android, BlackBerry, etc. are now capable of logging into and ...

View Solution...

EZDash – Custom Maximo Dashboard

EZDash – Custom Maximo Dashboard

A web based dashboard that seamlessly interacts with your Maximo maintenance management system. EZDash provides real time interactive graphs and charts for use by staff to monitor and manage work processes, inventory, labor hours, PM schedules, etc. EZDash is easily configured to display a wide range of key performance metrics ...

View Solution...

EZEnergyDash – Custom Maximo Energy Dashboard

EZEnergyDash – Custom Maximo Energy Dashboard

A web based dashboard that seamlessly interacts with your Maximo maintenance management system. EZEnergyDash provides real time interactive graphs and charts for use by staff to monitor and manage and view energy consumption. EZEnergyDash is easily configured to display a wide range of key performance metrics relevant to what’s important ...

View Solution...

WebMaint – Customer Service Request Module

WebMaint – Customer Service Request Module

This web-based add-on to IBM’s Maximo application system provides customers with a simple way to enter service requests and view their previously entered service tickets.  Customers can enter requests without having to be a registered Maximo user, therefore eliminating the need for a user to register or be registered in ...

View Solution...

WebAssign – Workorder Assignment & Scheduling

WebAssign – Workorder Assignment & Scheduling

This web-based add-on to IBM Maximo application provides supervisors and managers with the ability to assign work orders to specific staff as well as track the status of those work orders. Work orders can be assigned on an individual basis or by groups - it as easy as a "point ...

View Solution...




Setup Integration Framework JMS queues and buses in WebSphere

I have talked a lot about the integration framework and how to import and export data, but I have not given any steps on how to set it up.  So here is a quick guide to setup the JMS queues and buses for use with the Integration Framework.  These steps are for a single instance of Maximo, if you have a second instance of Maximo running for your test environment, then you can follow these same steps, but you just need to change the names accordingly.  If you are creating this for a second instance, then you will need to change a few configuration files and rebuild EARS to point to the new set of JMS resources.

Creating the JMS buses:

1. Navigate in the left pane to Service Integration/buses
2. Click the “new” button to create a new bus
3. In the name field, enter “intjmsbus”
4. Deselect the “Bus Security” checkbox and click “next”
5. Click “finish” and save the changes
6. Navigate to the bus you just created and select it
7. Change the “high message threshold” to 500,000 messages
8. Click “apply” and save the changes

Adding members to the buses:

1. Navigate in the left pane to Service Integration/buses
2. Select the bus created above called “intjmsbus”
3. Under “Topology”, select “bus members”
4. Click the “Add” button
5. Select the “server” radio button and select the MAXIMO server from the drop down (If a single instance, choose MAXIMO, otherwise select the other instance)
6. Click “next”
7. Select the “file store” radio button
8. Accept the default file store location
9. Click “next”
10. Click “finish” and save the changes

Creating bus destinations:

cqin
1. Navigate in the left pane to Service Integration/buses
2. Select your bus intjmsbus
3. Under “destination resources” click “destinations”
4. click the “new” button
5. Set the destination type as “queue” and click “next”
6. In the identifier field, enter “cqinbd” and click “next”
7. Assign the queue in the next screen to the MAXIMO application server
8. Click “next”
9. Click “finish” and save the changes
10. Navigate back to this destination, and set the exception destination radio button to “specify” and set the value in the textbox to cqinerrbd
11. Set the “maximum failed deliveries” to 5
12. Click “apply” and save the changes

cqinerr
1. Navigate in the left pane to Service Integration/buses
2. Select your bus intjmsbus
3. Under “destination resources” click “destinations”
4. click the “new” button
5. Set the destination type as “queue” and click “next”
6. In the identifier field, enter “cqinerrbd” and click “next”
7. Assign the queue in the next screen to the MAXIMO application server
8. Click “next”
9. Click “finish” and save the changes
10. Navigate back to this destination, and set the exception destination radio button to “specify” and set the value int he textbox to cqinerrbd
11. Set the “maximum failed deliveries” to 5
12. Click “apply” and save the changes

sqin
1. Navigate in the left pane to Service Integration/buses
2. Select your bus intjmsbus
3. Under “destination resources” click “destinations”
4. click the “new” button
5. Set the destination type as “queue” and click “next”
6. In the identifier field, enter “sqinbd” and click “next”
7. Assign the queue in the next screen to the MAXIMO application server
8. Click “next”
9. Click “finish” and save the changes
10. Navigate back to this destination, and set the exception destination radio button to “none”
11. Click “apply” and save the changes

sqout
1. Navigate in the left pane to Service Integration/buses
2. Select your bus intjmsbus
3. Under “destination resources” click “destinations”
4. Click the “new” button
5. Set the destination type as “queue” and click “next”
6. In the identifier field, enter “sqoutbd”
7. Assign the queue in the next screen to the MAXIMO application server
8. Click “next”
9. Click “finish” and save the changes
10. Navigate back to this destination, and set the exception destination radio button to “none”
11. Click “apply” and save the changes

Creating the MEA connection factory:

1. Navigate in the left pane to Resources/JMS/Connection factories
2. Select the cell scope and Click “new” button
3. Select the Default Messaging Provider radio button option
4. Click Next
5. In the name field, enter “intjmsconfact” (If using a second instance, change this name to something like “maxtestintjmsconfact”)
6. In the JNDI name field, enter

Default instance:  jms/maximo/int/cf/intcf
Second instance:  jms/maxtest/int/cf/intcf

7. Select the bus intjmsbus from the dropdown
8. Click “apply” and save the changes

Creating JMS queues:

Continuous inbound queue:
1. Navigate to Resources/JMS providers
2. Select the default message provider at the cell scope and under “additional properties”, click “queues”
3. Click the “new” button
4. Enter the name as “cqin”
5. In the JNDI name field, enter “jms/maximo/int/queues/cqin” (Or “jms/maxtest/int/queues/cqin”)
6. Select the intjmsbus as the bus for this queue from the bus name drop down
7. Select the cqinbd queue from the queue name drop down
8. Click “apply” and save the changes

Continuous inbound error queue:
1. Navigate to Resources/JMS providers
2. Select the default message provider at the cell scope and under “additional properties”, click “queues”
3. Click the “new” button
4. Enter the name as “cqinerr”
5. In the JNDI name field, enter “jms/maximo/int/queues/cqinerr” (Or “jms/maxtest/int/queues/cqinerr”)
6. Select the intjmsbus as the bus for this queue from the bus name drop down
7. Select the cqinerrbd queue from the queue name drop down
8. Click “apply” and save the changes

Sequential inbound queue:

1. Navigate to Resources/JMS providers
2. Select the default message provider at the cell scope and under “additional properties”, click “queues”
3. Click the “new” button
4. Enter the name as “sqin”
5. In the JNDI name field, enter “jms/maximo/int/queues/sqin” (Or “jms/maxtest/int/queues/sqin”)
6. Select the intjmsbus as the bus for this queue from the bus name drop down
7. Select the sqinbd queue from the queue name drop down
8. Click “apply” and save the changes

Sequential outbound queue:

1. Navigate to Resources/JMS providers
2. Select the default message provider at the cell scope and under “additional properties”, click “queues”
3. Click the “new” button
4. Enter the name as “sqout”
5. In the JNDI name field, enter “jms/maximo/int/queues/sqout” (Or the whatever name you called it)
6. Select the intjmsbus as the bus for this queue from the bus name drop down
7. In Select the sqoutbd queue from the queue name drop down
8. Click “apply” and save the changes

Creating the JMS Activation Specifications

First activation specification:

1. Navigate to Resources/JMS providers
2. Select the default message provider at the cell scope and under “additional properties”, click “activation specifications”
3. Click the “new” button
4. In the name field, enter “intjmsact” (Or “maxtestintjmsact”)
5. In the JNDI name field, enter “intjmsact” (Or the whatever name you called it)
6. In the “Destination JNDI name” field, enter “jms/maximo/int/queues/cqin”
7. Make sure the destination type is “queue”
8. Select the bus “intjmsbus” from the bus name drop down
9. Set Maximum batch size to 10
10. Set Maximum end points to 5
11. Click OK and save the changes

Second activation specification:

1. Navigate to Resources/JMS providers
2. Select the default message provider at the cell scope and under “additional properties”, click “activation specifications”
3. Click the “new” button
4. In the name field, enter “intjmsacterr” (Or “maxtestintjmsacterr”)
5. In the JNDI name field, enter “intjmsacterr” (Or the whatever name you called it)
6. In the “Destination JNDI name” field, enter “jms/maximo/int/queues/cqinerr”
7. Make sure the destination type is “queue”
8. Select the bus “intjmsbus” from the bus name drop down
9. For this activation spec, set Maximum batch size to 1
10. For this activation spec, set Maximum end points to 10
11. Click OK and save the changes

Now that you have setup all the JMS resources, you have to enable the use the these queues by making some changes to the Maximo configuration files.

Preparing the MEA application

For the MAXIMOMEA application instance, edit the following files and uncomment the message driven beans for the continuous queues:

1. locate the file under maximo/applications/maximo/mboejb/ejbmodule/meta-inf/ejb-jar.xml

2. Edit the file and make sure the following four sections are uncommented to look like below:

<!-- 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. locate the file under maximo/applications/maximo/mboejb/ejbmodule/meta-inf/ibm-ejb-jar-bnd.xmi

4. Edit the file using a text editor and make sure the following 2 sections are uncommented to look like below:

<!-- 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>

Make sure you enter the right activation name if you are setting this up for a second instance.
5. Build and deploy the maximo.ear

There is also a document on how to setup the Integration Framework to be used with multiple independent instances of Maximo 7 that you may find useful. [IBM Support]

Tags: , , , WebSphere 6.1,


12 Responses to “Setup Integration Framework JMS queues and buses in WebSphere”


  1. Radhika says:

    Right now the messages in the error queue are being processed repeatedly.

    Where can I control the number of retries for the error queue?

    I updated ‘MDBDELAY’ parameter in ejb-jar.xml to 2592000000. But that doesn’t help.

    Thanks,
    Radhika.

  2. Radhika says:

    Also,
    after doing a continuous inbound import, one xml file is created per message. However, these files are not deleted automatically after the messages have been processed.
    How do these files get deleted?

    Thanks,
    Radhika.

  3. Radhika says:

    We have the cqin and cqinerr setup.
    The bad messages do move into cqinerr.
    For redelivery of the error messages in the error queue, is there any parameter to setup the time threshold between re-delivery attempts?

    I did setup the MDBDELAY in ejb-jar.xml but this doesn’t seem to help. The redelivery of messages in the error queue fills up the log files. Please advise?
    Thanks,
    Radhika.

  4. Radhika says:

    Hi,
    Is there any way to avoid creation of xml files by continuous queues? Right now, each message is translated into an xml file. Can we avoid this?
    Pls advise?
    Thanks,
    Radhika.

    • Chon says:

      You could use interface tables instead.

      • Radhika says:

        Using Interface Tables also creates one xml file per message.

        Is there any way to turn off the property of creating the xml generation per message?

        Thanks,
        Radhika.

        • Chon says:

          No. It doesn’t matter what method you use, it will eventually be converted into XML when it ultimately imports.

          • Radhika says:

            Hi,

            I am using MIF to import data, implementing error queue.
            If I set
            mdbdelay = 1 hour, and

            maxtrycount = 5,
            is this supposed to retry the message 5 times, every one hour?
            So, if the life time of a message is set to 5 hours,
            this configuration should resubmit the message once every hour, 5 times. Am I right?
            But somehow the redelivery count in Message properties is set else where. What determines the redelivery count?

            Could you please advise?
            Thanks,
            Radhika.

  5. Daniel says:

    Hi!
    Do you know if Maximo is using JMS properties to specify which interface to use, or is this actually parsed out from the XML message?

  6. claudia.ugalde says:

    HI!
    I have Maximo installed on Linux, then, can’t find the .xml files, what can I do???


Leave a Reply

  1. *NOTE*: Please post support questions in our forum or your comments will not be approved.

Please leave these two fields as-is:

Protected by Invisible Defender. Showed 403 to 167 bad guys.

  • What We Can Do for You



    • Syclo Mobile Handheld Solutions
    • Integrations
    • Configurations
    • Support Services
    • Report Development
    • MAXIMO Upgrades
    • Custom Add-On Solutions
    • Engineering Support Services
    • Consulting
  • Clients