This topic describes how to investigate why point-to-point messages
are not being consumed from a destination on a service integration bus.
Why and when to perform this task
Use this topic if you did not get a response in your application
because a message you were expecting did not appear on a queue. The information
in this topic applies to local and remote producers, and local and remote
consumers.
Perform the following preliminary checks before starting
the investigation:
- Perform the following preliminary checks before starting the investigation:
- Check that the consuming application is consuming messages correctly:
- Check that the application is started.
- Check that the name of the destination being consumed from is correct.
- Check the producing application to see if it is giving the messages a
short expiry time. If this is the case, the messages may be expiring before
they can be consumed.
- Click Service integration -> Buses -> bus_name -> [Destination
resources] Destinations to display the destinations on the relevant
bus. Click on the destination and check that the Receive allowed check
box is selected.
- Check the reliability of the messages. If the reliability is set to best
effort, the messages can be discarded by the system during normal operation.
See Understanding why best effort messages are being discarded for
a list of possible causes.
- Examine the error logs.
Steps for this task
- Run the consuming application and check that messages are still
not being consumed.
- Stop the consuming application.
- Determine which messaging engine is hosting the queue point to
which messages are being produced. See Determining the location of message points for a destination on a service integration bus.
- Click -> server_name -> Messaging
engines -> messaging_engine_name -> [Message points] Queue
points -> queue_point_identifier -> [Runtime tab] Messages to
view the messages on the queue point. Check that there are messages present
that are in the 'Unlocked' state.
- If there are no messages present, then there are no messages to consume.
Run the producing application to produce a test message and check the queue
again. If there are still no messages present, the test message has not arrived.
Use the topic Investigating why point-to-point messages are not arriving to
investigate the problem.
- If there are messages present but they are not in the 'Unlocked' state,
check for other consumers that are consuming from this queue point. If there
are other consumers, stop them and repeat the investigation.
- Determine which messaging engine the consuming application is connected
to. See Determining which messaging engine an application is connected to.