Broker 10.5 | webMethods Broker Documentation | webMethods Broker Administration Java API Programmer’s Guide | Using Queue Browsers | Forwarding Queue Browser
Forwarding Queue Browser
Using Forwarding Queue Browser
webMethods Broker Java API 8.2 and later provides an API to view the contents of a forwarding queue for a remote Broker. The forwarding queue browser supports two distinct modes of operation:
1. An administrative client can inspect a forwarding queue without acquiring the client's queue lock.
2. An administrative client can acquire a queue lock and perform browse, delete, insert, and modify operations.
You can perform four operations with the queue browser. Note that you can only perform the last three operations on a locked queue.
1. The browse operation to return queued documents, including the documents that have been retrieved but are not yet acknowledged (i.e., "unacknowledged") documents. You can apply filtering on browse operations.
2. The insert operation to add documents to the tail of a locked queue.
You cannot insert documents to the head of a forwarding queue for a remote Broker.
3. The delete operation to delete documents based on their receipt sequence numbers.
4. The modify operation to replace documents "in-place" based on their receipt sequence numbers.
In addition to regular documents, the forwarding queue for a remote Broker might also contain internal events that Broker uses to perform tasks such as territory synchronization, and subscription updates. Internal events are produced only by Brokers and consumed only by peer Brokers in a territory, cluster, or a gateway Broker. Regular clients cannot process internal events because internal events are not associated with any Broker event type. The queue browser skips all internal events while returning documents from a forwarding queue as explained in the following diagram.
In this illustration, if you set the cursor position to "2" and request six events, the queue browser returns only four events namely, Regular Event 3, Regular Event 4, Regular Event 5, and Regular Event 6. This behavior occurs because the events at cursor position 2 and cursor position 3 are internal events. The queue browser skips these events and returns the remaining events from the forwarding queue.
You can delete regular events from the forwarding queue for a remote Broker, but you cannot delete internal events. An internal event might contain metadata changes. So deleting an internal event would mean that the regular events that come next in the queue might not be consumed successfully by the subscribers due to metadata mismatch.