# JMSServerRuntimeMBean

Overview | Related MBeans | Attributes | Operations

## Overview

This class is used for monitoring a WebLogic JMS server.

Fully Qualified Interface Name | If you use the `getMBeanInfo` operation in MBeanTypeServiceMBean, supply the following value as this MBean's fully qualified interface name: `weblogic.management.runtime.JMSServerRuntimeMBean`
Factory Methods | No factory methods. Instances of this MBean are created automatically.
Access Points | You can access this MBean from the following MBean attributes:
JMSRuntimeMBean.JMSServers JMSSessionPoolRuntimeMBean.JMSServer |

## Related MBeans

This section describes attributes that provide access to other MBeans. For more information about the MBean hierarchy, refer to WebLogic Server MBean Data Model.

Destinations SessionPoolRuntimes |

### Destinations

An array of destinations on this JMS server.

Factory Methods | No explicit creator method. The child shares the lifecycle of its parent.
Privileges | Read only
Type | JMSDestinationRuntimeMBean[]
Relationship type: | Containment.

### SessionPoolRuntimes

The session pools running on this JMS server.

Factory Methods | No explicit creator method. The child shares the lifecycle of its parent.
Privileges | Read only
Type | JMSSessionPoolRuntimeMBean[]
Relationship type: | Containment.

## Attributes

This section describes the following attributes:

BytesCurrentCount BytesHighCount BytesPageableCurrentCount BytesPagedInTotalCount BytesPagedOutTotalCount BytesPendingCount BytesReceivedCount BytesThresholdTime ConsumptionPaused ConsumptionPausedState DestinationsCurrentCount DestinationsHighCount DestinationsTotalCount HealthState InsertionPaused InsertionPausedState MessagesCurrentCount MessagesHighCount | MessagesPageableCurrentCount MessagesPagedInTotalCount MessagesPagedOutTotalCount MessagesPendingCount MessagesReceivedCount MessagesThresholdTime Name Parent PendingTransactions ProductionPaused ProductionPausedState SessionPoolsCurrentCount SessionPoolsHighCount SessionPoolsTotalCount Transactions Type

### BytesCurrentCount

The current number of bytes stored on this JMS server.

This number does not include the pending bytes.

Privileges | Read only
Type | long

### BytesHighCount

The peak number of bytes stored in the JMS server since the last reset.

Privileges | Read only
Type | long

### BytesPageableCurrentCount

Return the total number of bytes in all the messages that are currently available to be paged out, but which have not yet been paged out. The JMS server attempts to keep this number smaller than the "MessageBufferSize" parameter.

Privileges | Read only
Type | long

### BytesPagedInTotalCount

Return the total number of bytes that were read from the paging directory since the JMS server was started.

Privileges | Read only
Type | long

### BytesPagedOutTotalCount

Return the total number of bytes that were written to the paging directory since the JMS server was started.

Privileges | Read only
Type | long

### BytesPendingCount

The current number of bytes pending (unacknowledged or uncommitted) stored on this JMS server.

Pending bytes are over and above the current number of bytes.

Privileges | Read only
Type | long

### BytesReceivedCount

The number of bytes received on this JMS server since the last reset.

Privileges | Read only
Type | long

### BytesThresholdTime

The amount of time in the threshold condition since the last reset.

Privileges | Read only
Type | long

### ConsumptionPaused

Returns the current consumption paused state of the JMSServer as boolean value.

Privileges | Read only
Type | boolean

### ConsumptionPausedState

Returns the current consumption paused state of the JMSServer as string value.

Privileges | Read only
Type | java.lang.String

### DestinationsCurrentCount

The current number of destinations for this JMS server.

Privileges | Read only
Type | long

### DestinationsHighCount

The peak number of destinations on this JMS server since the last reset.

Privileges | Read only
Type | long

### DestinationsTotalCount

The number of destinations instantiated on this JMS server since the last reset.

Privileges | Read only
Type | long

### HealthState

The health state of this JMS server.

Privileges | Read only
Type | weblogic.health.HealthState

### InsertionPaused

Returns the current insertion paused state of the JMSServer as boolean value.

Privileges | Read only
Type | boolean

### InsertionPausedState

Returns the current insertion paused state of the JMSServer as string value.

Privileges | Read only
Type | java.lang.String

### MessagesCurrentCount

The current number of messages stored on this JMS server. This number does not include the pending messages.

Privileges | Read only
Type | long

### MessagesHighCount

The peak number of messages stored in the JMS server since the last reset.

Privileges | Read only
Type | long

### MessagesPageableCurrentCount

Return the number of messages that are currently available for paging in this JMS server but have not yet been paged out. Note that due to internal implementation details, this count may be zero even if "PageableByteCurrentCount" is zero.

Privileges | Read only
Type | int

### MessagesPagedInTotalCount

Return the total number of messages that were read from the paging directory since the JMS server was started.

Privileges | Read only
Type | int

### MessagesPagedOutTotalCount

Return the total number of messages that were written to the paging directory since the JMS server was started.

Privileges | Read only
Type | int

### MessagesPendingCount

The current number of messages pending (unacknowledged or uncommitted) stored on this JMS server.

Pending messages are over and above the current number of messages.

Privileges | Read only
Type | long

### MessagesReceivedCount

The number of messages received on this destination since the last reset.

Privileges | Read only
Type | long

### MessagesThresholdTime

The amount of time in the threshold condition since the last reset.

Privileges | Read only
Type | long

### Name

The name of this configuration. WebLogic Server uses an MBean to implement and persist the configuration.

Privileges | Read only
Type | java.lang.String

### Parent

Return the immediate parent for this MBean

Privileges | Read/Write
Type |

### PendingTransactions

Returns an array of Xids representing transaction branches that exist onthis JMS server in the pending state, i.e. branches that have been prepared by the transaction manager but not yet committed or rolled back.

For more information, see:

- Xid

Privileges | Read only
Type | class java.lang.String[]

### ProductionPaused

Returns the current production paused state of the JMSServer as boolean value.

Privileges | Read only
Type | boolean

### ProductionPausedState

Returns the current production paused state of the JMSServer as string value.

Privileges | Read only
Type | java.lang.String

### SessionPoolsCurrentCount

The current number of session pools instantiated on this JMS server.

Privileges | Read only
Type | long

### SessionPoolsHighCount

The peak number of session pools instantiated on this JMS server since the last reset.

Privileges | Read only
Type | long

### SessionPoolsTotalCount

The number of session pools instantiated on this JMS server since the last reset.

Privileges | Read only
Type | long

### Transactions

Returns an array of Xids representing transaction branches that exist on this JMS server in any state.

For more information, see:

- Xid

Privileges | Read only
Type | class java.lang.String[]

### Type

Returns the type of the MBean.

Privileges | Read only
Type | java.lang.String

## Operations

This section describes the following operations:

closeCursor forceCommit forceRollback getCursorEndPosition getCursorSize getCursorStartPosition getItems getMessage getMessage getMessages getNext | getPrevious getTransactionStatus pauseConsumption pauseInsertion pauseProduction resumeConsumption resumeInsertion resumeProduction sort

### closeCursor

Releases the server-side resources associated with the cursor and removes the runtime MBean instance.

Operation Name | `"closeCursor"`
Parameters | `Object [] { cursorHandle }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The cursor handle.
Signature | `String [] { "java.lang.String" }`
Returns | `Void`
Exceptions | `weblogic.management.ManagementException`

### forceCommit

Causes the work associated with the specified transaction branch to be committed.

Operation Name | `"forceCommit"`
Parameters | `Object [] { xid }` where: `xid` is an object of type `java.lang.String` that specifies: An xid in string representation for a JMS transaction branch.
Signature | `String [] { "java.lang.String" }`
Returns | `Void`
Exceptions | `weblogic.management.ManagementException`

### forceRollback

Causes the work associated with the specified transaction branch to be rolled back.

Operation Name | `"forceRollback"`
Parameters | `Object [] { xid }` where: `xid` is an object of type `java.lang.String` that specifies: An xid in string representation for a JMS transaction branch.
Signature | `String [] { "java.lang.String" }`
Returns | `Void`
Exceptions | `weblogic.management.ManagementException`

### getCursorEndPosition

Returns the cursor end position in the result set.

Operation Name | `"getCursorEndPosition"`
Parameters | `Object [] { cursorHandle }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The cursor handle.
Signature | `String [] { "java.lang.String" }`
Returns | `Long`
Exceptions | `weblogic.management.ManagementException`

### getCursorSize

Returns the number of items in the result set.

Operation Name | `"getCursorSize"`
Parameters | `Object [] { cursorHandle }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The cursor handle.
Signature | `String [] { "java.lang.String" }`
Returns | `Long`
Exceptions | `weblogic.management.ManagementException`

### getCursorStartPosition

Returns the cursor start position in the result set.

Operation Name | `"getCursorStartPosition"`
Parameters | `Object [] { cursorHandle }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The cursor handle.
Signature | `String [] { "java.lang.String" }`
Returns | `Long`
Exceptions | `weblogic.management.ManagementException`

### getItems

Returns an array of items from the specified cursor location. The new cursor start position will be the location after the old cursor end position. The size of the array returned is determined by the count argument. An array smaller than the "count" value is returned if there are fewer items from the specified start position to the end of the result set. A null value is returned if the size of the return array is zero. In this case, the cursor position will not change.

For more information, see:

- CompositeData

Operation Name | `"getItems"`
Parameters | `Object [] { cursorHandle, start, count }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The cursor handle. `start` is an object of type `java.lang.Long` that specifies: The new cursor start location. `count` is an object of type `java.lang.Integer` that specifies: The maximum number of items to return.
Signature | `String [] { "java.lang.String", "java.lang.Long", "java.lang.Integer" }`
Returns | `class`
Exceptions | `weblogic.management.ManagementException`

### getMessage

Returns the message associated with the specified cursor handle.

For more information, see:

- CompositeData

Operation Name | `"getMessage"`
Parameters | `Object [] { cursorHandle, messageHandle }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The handle of the cursor. `messageHandle` is an object of type `java.lang.Long` that specifies: The handle of the message within the cursor.
Signature | `String [] { "java.lang.String", "java.lang.Long" }`
Returns | `CompositeData`
Exceptions | `weblogic.management.ManagementException` ManagementException Thrown when an error occurs while performing the operation.

### getMessage

Given a JMS message ID this method returns the corresponding message from the queue. If no message with the specified message ID exists on the destination, a null value is returned.

For more information, see:

- CompositeData

Operation Name | `"getMessage"`
Parameters | `Object [] { cursorHandle, messageID }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The handle of the cursor. `messageID` is an object of type `java.lang.String` that specifies: The JMS message ID of the requested message.
Signature | `String [] { "java.lang.String", "java.lang.String" }`
Returns | `CompositeData`
Exceptions | `weblogic.management.ManagementException`

### getMessages

Returns a set of messages that are associated with a JMS transaction branch. Note that the result set is returned to the caller in the form of a message cursor that may contain messages from several destinations on this JMS server. The timeout parameter specifies the amount of time in seconds for which the cursor is valid. Upon timeout expiration the cursor is invalidated and the associated resources released.

For more information, see:

- Xid
- JMSMessageCursorRuntimeMBean

Operation Name | `"getMessages"`
Parameters | `Object [] { xid, timeoutSeconds }` where: `xid` is an object of type `java.lang.String` that specifies: An Xid in string representation for a JMS transaction branch. `timeoutSeconds` is an object of type `java.lang.Integer` that specifies: The last access timeout for the cursor. The cursor resources will be reclaimed if it is not accessed within the specified time interval. A value of 0 indicates no timeout.
Signature | `String [] { "java.lang.String", "java.lang.Integer" }`
Returns | `String`
Exceptions | `weblogic.management.ManagementException`

### getNext

Returns an array of items starting from the current cursor end position. The new cursor start position is set to be the location of the first item returned to the caller. The new cursor end position is set according to the size of the array returned, which is determined by the count argument. An array smaller than the "count" value is returned if there are fewer items from the specified start position to the end of the result set. A null value is returned if the size of the array is zero. In this case, the cursor position will not change.

For more information, see:

- CompositeData

Operation Name | `"getNext"`
Parameters | `Object [] { cursorHandle, count }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The cursor handle. `count` is an object of type `java.lang.Integer` that specifies: The maximum number of items to return.
Signature | `String [] { "java.lang.String", "java.lang.Integer" }`
Returns | `class`
Exceptions | `weblogic.management.ManagementException`

### getPrevious

Returns an array of items up to the current cursor start position. The new start position will be placed at the location of the first item in the set returned to the caller. The new cursor end position will be placed at the location after the last item in the set that is returned.

For more information, see:

- CompositeData

Operation Name | `"getPrevious"`
Parameters | `Object [] { cursorHandle, count }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The cursor handle. `count` is an object of type `java.lang.Integer` that specifies: The maximum number of item to return.
Signature | `String [] { "java.lang.String", "java.lang.Integer" }`
Returns | `class`
Exceptions | `weblogic.management.ManagementException`

### getTransactionStatus

Given an Xid this method returns the JTA status of the associated JMS transaction branch.

For more information, see:

- Xid
- Status

Operation Name | `"getTransactionStatus"`
Parameters | `Object [] { xid }` where: `xid` is an object of type `java.lang.String` that specifies: An Xid in string representation for a JMS transaction branch.
Signature | `String [] { "java.lang.String" }`
Returns | `Integer`

### pauseConsumption

Pauses the consumption operation on all the destinations hosted by the JMSServer.

When the JMSServer is paused for consumption, all of its destination's state is marked as "consumption paused" and all the new synchronous receive operations will block until the destination is resumed and there are messages available for consumption. All the synchronous receive with blocking timeout will block until the timeout happens during the consumption paused state.

All the asynchronous consumers attached to that destination will not get any messages delivered to them while the destination in "consumption paused" state.

After a successful consumption "pause" operation, the user has to explicitly "resume" the destination to allow for any further consume operations on that destination

Operation Name | `"pauseConsumption"`
Parameters | `null`
Signature | `null`
Returns | `void`
Exceptions | `javax.jms.JMSException`

### pauseInsertion

Pauses the appearance of any messages on all the destinations of the JMSServer, that are result of the in-flight work completion on all the destinations hosted by this JMSServer.

Definition of In-Flight work

The definitions below are based on the current implementation of WebLogic JMS subsystem.

- In-flight messages associated with Producers

- UN-BORN MESSAGES

  Messages that are produced by the producer, with "birth time" (TimeToDeliver) set in future are called un-born messages and are counted as "pending" messages in the destination statistics and are not available for consumers yet.

- UN-COMMITTED MESSAGES

  These are the messages that are produced by the producer as part of the transaction (using either user transaction or transacted session) and the transaction is still not committed or rolled back. These messages are also counted as "pending" messages in the destination statistics and are not available for consumption.

- QUOTA BLOCKING SEND

  These are the messages that are produced by the producers but are not able reach the destination because of (either message or byte or both) quota limit on the destination and the producers are willing to block for a specific period of time for the quota to be available. These messages are invisible to the system and are not counted against any of the destination statistics.

- In-flight messages associated with Consumers

- UN-ACKNOWLEDGED (CLIENT ACK PENDING) MESSAGES

  These are the messages that are successfully consumed by the clients using a "client acknowledge" session, and are awaiting acknowledgements from the clients. These are "pending messages" which will be removed from the destination/system when the acknowledgement is received.

- UN-COMMITTED MESSAGES

  These are the messages that are consumed (received) by the clients within a transaction (using either user transaction or transacted session) and the transaction is still not committed or rolled back. When the clients successfully commit the transaction the messages get removed from the system.

- ROLLED BACK MESSAGES

  These are the messages that are put back on the destination because of a successful rollback of transactional receive by the consumers. These messages might or might not be ready for consumption (re-delivered) to the clients immediately, depending on the redelivery parameters, RedeliveryDelay and/or RedeliveryDelayOverride and RedeliveryLimit configured on the associated JMSConnectionFactory and JMSDestination respectively.

  If there is a redelivery delay configured, then for that "delay" duration, the messages are not available for consumption and are counted as "pending" in the destination statistics and after the "delay" period, if the redelivery limit is not exceeded, then they are delivered (made available for consumption) on that destination and are counted as "current" messages in the destination statistics. If the redelivery limit exceeds, then those messages will be moved to the ErrorDestination, if one configured.

  Another parameter that controls the availability of the rolled back messages is RedeliveryLimit.

- RECOVERED MESSAGES

  These messages are similar to ROLLED BACK MESSAGES discussed above. Except that these messages appear on the queue because of an explicit call to session "recover" by the client.

- REDELIVERED MESSAGES

  These are again similar to ROLLED BACK MESSAGES except that these messages may re-appear on the destination because of an un-successful delivery attempt to the client (consumer crash, close etc.).

For more information, see:

- JMSServerRuntimeMBean#resumeInsertion
- JMSServerRuntimeMBean#pauseProduction
- JMSServerRuntimeMBean#pauseConsumption

Operation Name | `"pauseInsertion"`
Parameters | `null`
Signature | `null`
Returns | `void`
Exceptions | `javax.jms.JMSException` JMSException Thrown when an internal JMS error occurs while pausing the insertion.

### pauseProduction

Pauses the new message production on all the destinations hosted by the JMSServer.

When the production paused, it would prevent any new produce operations from both new and existing producers attached to the destinations. When the destination is "resumed from production pause", all the new message production is allowed from both new and existing producers attached to that destination.

For more information, see:

- JMSServerRuntimeMBean#resumeProduction
- JMSServerRuntimeMBean#pauseInsertion
- JMSServerRuntimeMBean#pauseConsumption

Operation Name | `"pauseProduction"`
Parameters | `null`
Signature | `null`
Returns | `void`
Exceptions | `javax.jms.JMSException` JMSException Thrown when an internal JMS error occurs while pausing the production.

### resumeConsumption

Resumes the consumption operation on all the destinations hosted by the JMSSever.

The state of the destinations shall be marked as "consumption enabled" thus allowing all the "consuming" activity to continue normally.

Invoking this API on a JMSServer that is currently not in "consumption paused" state has no effect.

Operation Name | `"resumeConsumption"`
Parameters | `null`
Signature | `null`
Returns | `void`
Exceptions | `javax.jms.JMSException` JMSException Thrown when an internal JMS error occurs while resuming the consumption.

### resumeInsertion

Resumes the in-flight message production operation on all the destinations hosted by the JMSServer. The state of the JMSServer shall be marked as "insertion enabled" thus allowing all the messages from in-flight work completion are alloed to appear on the destinations. Invoking this API on a JMSServer that is currently not in "insertion paused" state has no effect.

Operation Name | `"resumeInsertion"`
Parameters | `null`
Signature | `null`
Returns | `void`
Exceptions | `javax.jms.JMSException` JMSException Thrown when an internal JMS error occurs while resuming the insertion.

### resumeProduction

Resumes the new message production operation on all the destinations hosted by the JMSServer. The state of the JMSServer shall be marked as "production enabled" thus allowing all the new "producing" activity to continue normally. Invoking this API on a JMSServer that is currently not in "production paused" state has no effect.

Operation Name | `"resumeProduction"`
Parameters | `null`
Signature | `null`
Returns | `void`
Exceptions | `javax.jms.JMSException` JMSException Thrown when an internal JMS error occurs while resuming the production.

### sort

Sorts the entire message result set managed by the cursor according to the JMS header attributes specified. The cursor position is set to the new position of the message corresponding to the "start" location before the sort is performed. The method returns the new cursor position.

For more information, see:

- CompositeData

Operation Name | `"sort"`
Parameters | `Object [] { cursorHandle, start, fields, ascending }` where: `cursorHandle` is an object of type `java.lang.String` that specifies: The handle of the cursor. `start` is an object of type `java.lang.Long` that specifies: The location of the message before the sort that will be the first message returned after the sort. A value of -1 will place the cursor start position at the head of the new sort order. `fields` is an object of type `[Ljava.lang.String;` that specifies: The JMS header attributes on which to sort. `ascending` is an object of type `[Ljava.lang.Boolean;` that specifies: Determines whether the sort of the corresponding fields element is in ascending or descending order.
Signature | `String [] { "java.lang.String", "java.lang.Long", "[Ljava.lang.String;", "[Ljava.lang.Boolean;" }`
Returns | `Long`
Exceptions | `weblogic.management.ManagementException` ManagementException Thrown when an internal JMS error occurs while processing the request.