Monitoring object queues

Object queues are a concurrency control mechanism which supports sending and receiving internal messages between application components. Object queues provide a clean interface for managing flows of integration messages or of asynchronous business logic invocations.

Much of the object queue functionality is implemented in metadata. Developers can therefore directly examine, create, and manipulate messages and queues from business logic at runtime, which is not feasible with third-party queuing modules. In particular, object queues:

  • Contain error handling logic that can be overridden to support advanced error recovery scenarios.
  • Support several concurrency control mechanisms to:
    • Limit load on a server.
    • Guarantee the relative ordering of message deliveries.
    • Limit concurrent access to sensitive resources.
  • Provide hooks, which can be used to gather statistics on message processing and to track progress of parallelized work.

Each application has multiple object queues, which are defined using NexJ Studio before the application is deployed.

You can inspect the object queues and individual messages using the Object Queues page in NexJ System Admin Console. Use this functionality to proactively monitor object queue statistics and to review error and runtime queues. This enables you to resolve performance problems as they occur and to identify potential performance issues before they occur.

You can also resend blocked and waiting messages and change certain properties for a queue. You can update concurrency settings and specify whether a queue can send or receive messages.