# JMSDestinationMBean

Overview | Related MBeans | Attributes | Operations

## Overview

This class represents a JMS destination, which identifies a queue (Point-To-Point) or a topic (Pub/Sub) for a JMS server.

Deprecated. 9.0.0.0 Replaced by DestinationBean

Security roles | The following roles have read, write, and invoke permission for all non-encrypted attributes and operations in this MBean: Deployer
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.configuration.JMSDestinationMBean`
Factory Methods | No factory methods. Instances of this MBean are created automatically.
Subtypes | The following MBeans extend or implement this MBean type:
JMSQueueMBean JMSTopicMBean |
Deprecated Factory Methods and Access Points |
JMSDestCommonMBean.ErrorDestination JMSDestCommonMBean JMSDestinationMBean.ErrorDestination JMSQueueMBean.ErrorDestination | JMSTemplateMBean.ErrorDestination JMSTemplateMBean.Destinations JMSTopicMBean.ErrorDestination

## 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.

DestinationKeys ErrorDestination | Template

### DestinationKeys

A read-only array of the destination keys of the JMS template or destination. Destination keys define the sort order for messages that arrive on a specific destination. The keys are ordered from most significant to least significant. If more than one key is specified, a key based on the `JMSMessageID` property can only be the last key in the list.

Note: If JMSMessageID is not defined in the key, it is implicitly assumed to be the last key and is set as "ascending" (first-in, first-out) for the sort order.

Privileges | Read/Write
Type | JMSDestinationKeyMBean[]
Relationship type: | Reference.
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server.

### ErrorDestination

The destination for messages that have reached their redelivery limit, or for expired messages on the destination where the expiration policy is `Redirect`. If this destination has a template, `(none)` indicates that the error destination comes from the template. If this destination has no template, `(none)` indicates that there is no error destination configured.

Note: If a redelivery limit is specified, but no error destination is set, then messages that have reached their redelivery limit are simply discarded.

Note: The error destination must be a destination that is configured on the local JMS server.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | JMSDestinationMBean
Relationship type: | Reference.

### Template

The JMS template from which the destination is derived. If a JMS template is specified, destination attributes that are set to their default values will inherit their values from the JMS template at run time. However, if this attribute is not defined, then the attributes for the destination must be specified as part of the destination.

Note: The Template attribute setting per destination is static. The JMS template's attributes, however, can be modified dynamically.

Privileges | Read/Write
Type | JMSTemplateMBean
Relationship type: | Reference.
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server.

## Attributes

This section describes the following attributes:

BytesMaximum BytesPagingEnabled BytesThresholdHigh BytesThresholdLow DeliveryModeOverride ExpirationLoggingPolicy ExpirationPolicy JNDIName JNDINameReplicated MaximumMessageSize MessagesMaximum MessagesPagingEnabled MessagesThresholdHigh | MessagesThresholdLow Name Notes Parent PriorityOverride RedeliveryDelayOverride RedeliveryLimit StoreEnabled TimeToDeliverOverride TimeToLiveOverride Type

### BytesMaximum

The maximum bytes quota (between `0` and a positive 64-bit integer) that can be stored in this destination. The default value of -1 specifies that there is no WebLogic-imposed limit on the number of bytes that can be stored in the destination. However, excessive bytes volume can cause memory saturation, so this value should correspond to the total amount of available system memory relative to the rest of your application load.

Range of Values: >= BytesThresholdHigh.

This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Note: If a JMS template is used for distributed destination members, then this setting applies only to those specific members and not the distributed destination set as a whole.

Privileges | Read/Write
Type | long
Default Value | -1
Minimum value | -1
Maximum value | 9223372036854775807

### BytesPagingEnabled

This parameter has been deprecated. Paging is always enabled. The "MessageBufferSize" parameter on JMSServerMBean controls how much memory is used before paging kicks in.

Deprecated. 9.0.0.0 Replaced by JMSServerMBean#MessageBufferSize

Privileges | Read/Write
Type | java.lang.String
Default Value | default
Legal Values | default false true

### BytesThresholdHigh

The upper threshold value that triggers events based on the number of bytes stored in this JMS server. If the number of bytes exceeds this threshold, the following events are triggered :

- Log Messages

  - A message is logged on the server indicating a high threshold condition.

- Flow Control

  - If flow control is enabled, the destination becomes armed and instructs producers to begin decreasing their message flow.

A value of -1 specifies that flow control and threshold log messages are disabled for the destination.

Range of Values: Between 0 and a positive 64-bit integer; <= BytesMaximum; >BytesThresholdLow.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | long
Default Value | -1
Minimum value | -1
Maximum value | 9223372036854775807

### BytesThresholdLow

The lower threshold value (between 0 and a positive 64-bit integer) that triggers events based on the number of bytes stored in this JMS server. If the number of bytes falls below this threshold, the following events are triggered:

- Log Messages

  - A message is logged on the server indicating that the threshold condition has cleared.

- Flow Control

  - If flow control is enabled, the destination becomes disarmed and instructs producers to begin increasing their message flow.

A value of -1 specifies that bytes paging, flow control, and threshold log messages are disabled for this JMS server.

Range of Values: < BytesThresholdHigh.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | long
Default Value | -1
Minimum value | -1
Maximum value | 9223372036854775807

### DeliveryModeOverride

The delivery mode assigned to all messages that arrive at the destination regardless of the DeliveryMode specified by the message producer.

A value of `No-Delivery` specifies that the DeliveryMode will not be overridden.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | java.lang.String
Default Value | No-Delivery
Legal Values | Persistent Non-Persistent No-Delivery

### ExpirationLoggingPolicy

The policy that defines what information about the message is logged when the Expiration Policy on this destination is set to `Log`.

The valid logging policy values are:

- %header%

  - All JMS header fields are logged.

- %properties%

  - All user-defined properties are logged.

- JMSDeliveryTime

  - This WebLogic JMS-specific extended header field is logged.

- JMSRedeliveryLimit

  - This WebLogic JMS-specific extended header field is logged.

- foo

  - Any valid JMS header field or user-defined property is logged.

When specifying multiple values, enter them as a comma-separated list. The ``%header%`` and `%properties%` values are not case sensitive. For example, you could use `"%header%,%properties%"` for all the JMS header fields and user properties. However, the enumeration of individual JMS header fields and user-defined properties are case sensitive. To enumerate only individual JMS header fields you could use `"%header, name, address, city, state, zip"`.N

Note: The `JMSMessageID` field is always logged and cannot be turned off. Therefore, if the Expiration Logging Policy is not defined (i.e., null) or is defined as an empty string, then the output to the log file contains only the `JMSMessageID` of the message.

Privileges | Read/Write
Type | java.lang.String

### ExpirationPolicy

The message Expiration Policy uses when an expired message is encountered on a destination.

The valid expiration policies are:

None - Same as the Discard policy; expired messages are simply removed from the destination.

Discard - Removes expired messages from the messaging system. The removal is not logged and the message is not redirected to another location. If no value is defined for a given destination (i.e., None), then expired messages are discarded.

Log - Removes expired messages from the system and writes an entry to the server log file indicating that the messages have been removed from the system. The actual information that is logged is defined by the Expiration Logging Policy.

Redirect - Moves expired messages from their current location to the Error Destination defined for the destination. The message retains its body, and all of its properties. The message also retains all of its header fields, but with the following exceptions:

- The destination for the message becomes the error destination.

- All property overrides associated with the error destination are applied to the redirected message.

- If there is no Time-To-Live Override value for the error destination, then the message receives a new Expiration Time of zero (indicating that it will not expire again

It is illegal to use the Redirect policy when there is no valid error destination defined for the destination. Similarly, it is illegal to remove the error destination for a destination that is using the Redirect policy.

Note: The Maximum Message quota is only enforced for sending new messages. It is ignored when moving messages because of the Redirect policy.

For more information, see:

- setExpirationPolicy

Privileges | Read/Write
Type | java.lang.String
Default Value | Discard
Legal Values | Discard Log Redirect

### JNDIName

The JNDI name used to look up the destination within the JNDI namespace. If not specified, the destination name is not advertised through the JNDI namespace and cannot be looked up and used.

Note: This attribute is not dynamically configurable.

Privileges | Read/Write
Type | java.lang.String

### JNDINameReplicated

Indicates whether the JNDI name is replicated across the cluster. If JNDINameReplicated is set to true, then the JNDI name for the destination (if present) is replicated across the cluster. If JNDINameReplicated is set to false, then the JNDI name for the destination (if present) is only visible from the server of which this destination is a part.

Privileges | Read/Write
Type | boolean
Default Value | true

### MaximumMessageSize

The maximum size of a message in bytes that will be accepted from producers on this JMS server. The message size includes the message body, any user-defined properties, and the user-defined JMS header fields: `JMSCorrelationID` and `JMSType`. Producers sending messages that exceed the configured maximum message size for the JMS server receive a `ResourceAllocationException`.

Range of Values: Between `0` and a positive 32-bit integer.

The maximum message size is only enforced for the initial production of a message. Messages that are redirected to an error destination or forwarded to a member of a distributed destination are not checked for size. For instance, if a destination and its corresponding error destination are configured with a maximum message size of 128K bytes and 64K bytes, respectively, a message of 96K bytes could be redirected to the error destination (even though it exceeds the Range of Values: the 64K byte maximum), but a producer could not directly send the 96K byte message to the error destination.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | int
Default Value | 2147483647
Minimum value | 0
Maximum value | 2147483647

### MessagesMaximum

The maximum message quota (total amount of messages) that can be stored in this JMS server. The default value of -1 specifies that there is no WebLogic-imposed limit on the number of messages that can be stored. However, excessive message volume can cause memory saturation, so this value should correspond to the total amount of available system memory relative to the rest of your application load.

Range of Values: >= MessagesThresholdHigh.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Note: If a JMS template is used for distributed destination members, then this setting applies only to those specific members and not the distributed destination set as a whole.

Privileges | Read/Write
Type | long
Default Value | -1
Minimum value | -1
Maximum value | 9223372036854775807

### MessagesPagingEnabled

This parameter has been deprecated. Paging is always enabled. The "MessageBufferSize" parameter on JMSServerMBean controls how much memory is used before paging kicks in.

Deprecated. 9.0.0.0 Replaced by JMSServerMBean#MessageBufferSize

Privileges | Read/Write
Type | java.lang.String
Default Value | default
Legal Values | default false true

### MessagesThresholdHigh

The upper threshold value that triggers events based on the number of messages stored in this JMS server. If the number of messages exceeds this threshold, the following events are triggered:

- Log Messages

  - A message is logged on the server indicating a high threshold condition.

- Flow Control

  - If flow control is enabled, the destination becomes armed and instructs producers to begin decreasing their message flow.

A value of -1 specifies that bytes paging, flow control, and threshold log messages are disabled for this JMS server.

Range of Values: Between 0 and a positive 64-bit integer; <= MessagesMaximum; >MessagesThresholdLow.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | long
Default Value | -1
Minimum value | -1
Maximum value | 9223372036854775807

### MessagesThresholdLow

The lower threshold value that triggers events based on the number of messages stored in this JMS server. If the number of messages falls below this threshold, the following events are triggered:

- Log Messages

  - A message is logged on the server indicating that the threshold condition has cleared.

- Flow Control

  - If flow control is enabled, the destination becomes disarmed and instructs producers to begin increasing their message flow.

A value of -1 specifies that bytes paging, flow control, and threshold log messages are disabled for this JMS server.

Range of Values: Between 0 and a positive 64-bit integer; < MessagesThresholdHigh.

This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | long
Default Value | -1
Minimum value | -1
Maximum value | 9223372036854775807

### Name

The user-specified name of this MBean instance.

This name is included as one of the key properties in the MBean's `javax.management.ObjectName`:
`Name=user-specified-name`

Privileges | Read/Write
Type | java.lang.String

### Notes

Optional information that you can include to describe this configuration.

WebLogic Sever saves this note in the domain's configuration file (`config.xml`) as XML PCDATA. All left angle brackets (<) are converted to the XML entity `&lt;`. Carriage returns/line feeds are preserved.

Note:

  If you create or edit a note from the Administration Console, the Administration Console does not preserve carriage returns/line feeds.

Privileges | Read/Write
Type | java.lang.String

### Parent

Return the immediate parent for this MBean

Privileges | Read/Write
Type |

### PriorityOverride

The priority assigned to all messages that arrive at the destination, regardless of the Priority specified by the message producer. The default value (-1) specifies that the destination will not override the Priority set by the message producer.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | int
Default Value | -1
Minimum value | -1
Maximum value | 9

### RedeliveryDelayOverride

The delay, in milliseconds, before rolled back or recovered messages are redelivered, regardless of the RedeliveryDelay specified by the consumer and/or connection factory. Redelivered queue messages are put back into their originating destination; redelivered topic messages are put back into their originating subscription. The default value (-1) specifies that the destination will not override the RedeliveryDelay setting specified by the consumer and/or connection factory.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Note: Changing the RedeliveryDelayOverride only affects future rollbacks and recovers, it does not affect rollbacks and recovers that have already occurred.

Privileges | Read/Write
Type | long
Default Value | -1
Minimum value | -1
Maximum value | 9223372036854775807

### RedeliveryLimit

The number of redelivery tries (between `0` and a positive 32-bit integer) a message can have before it is moved to the error destination. This setting overrides any redelivery limit set by the message sender. If the redelivery limit is configured, but no error destination is configured, then persistent and non-persistent messages are simply dropped (deleted) when they reach their redelivery limit.

A value of `-1` means that this value is inherited from the JMS template, if one is configured. If no JMS template is configured, then `-1` means that there is no override.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; previously sent messages continue to use their original redelivery limit.

Note: The number of times a message has been redelivered is not persisted. This means that after a restart, the number of delivery attempts on each message is reset to zero.

Privileges | Read/Write
Type | int
Default Value | -1
Minimum value | -1
Maximum value | 2147483647

### StoreEnabled

Specifies whether the destination supports persistent messaging by using the JMS store specified by the JMS server.

Supported values are:

- default

  - The destination uses the JMS store defined for the JMS server, if one is defined, and supports persistent messaging. However, if a JMS store is not defined for the JMS server, then persistent messages are automatically downgraded to non-persistent.

- false

  - The destination does not support persistent messaging.

- true

  - The destination does support persistent messaging. However, if a JMS store is not defined for the JMS server, then the configuration will fail and the JMS server will not boot.

Note: This attribute is not dynamically configurable.

Privileges | Read/Write
Type | java.lang.String
Default Value | default
Legal Values | default false true

### TimeToDeliverOverride

The default delay, either in milliseconds or as a schedule, between when a message is produced and when it is made visible on its target destination, regardless of the delivery time specified by the producer and/or connection factory. The default value (`-1`) specifies that the destination will not override the TimeToDeliver setting specified by the producer and/or connection factory. The TimeToDeliverOverride can be specified either as a long or as a schedule.

Note: Changing the TimeToDeliverOverride only affects future message delivery, it does not affect message delivery of already produced messages.

For more information, see:

- Schedule

Privileges | Read/Write
Type | java.lang.String
Default Value | -1

### TimeToLiveOverride

The time-to-live assigned to all messages that arrive at this topic, regardless of the TimeToLive value specified by the message producer. The default value (`-1`) specifies that this setting will not override the TimeToLive setting specified by the message producer.

Range of Values: Between 0 and a positive 64-bit integer.

Note: This attribute is dynamically configurable, but only incoming messages are impacted; stored messages are not impacted.

Privileges | Read/Write
Type | long
Default Value | -1
Minimum value | -1
Maximum value | 9223372036854775807

### Type

Returns the type of the MBean.

Privileges | Read only
Type | java.lang.String
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server.

## Operations

This section describes the following operations:

addDestinationKey freezeCurrentValue isSet removeDestinationKey | restoreDefaultValue unSet

### addDestinationKey

Add a destination key to the JMS template or destination. Destination keys define the sort order for messages that arrive on a specific destination. The keys are ordered from most significant to least significant. If more than one key is specified, a key based on the `JMSMessageID` property can only be the last key in the list.

Note: If JMSMessageID is not defined in the key, it is implicitly assumed to be the last key and is set as "ascending" (first-in, first-out) for the sort order.

Operation Name | `"addDestinationKey"`
Parameters | `Object [] { destinationKey }` where: `destinationKey` is an object of type `weblogic.management.configuration.JMSDestinationKeyMBean` that specifies: a reference to JMSDestinationKeyMBean
Signature | `String [] { "weblogic.management.configuration.JMSDestinationKeyMBean" }`
Returns | `boolean`

### freezeCurrentValue

If the specified attribute has not been set explicitly, and if the attribute has a default value, this operation forces the MBean to persist the default value.

Unless you use this operation, the default value is not saved and is subject to change if you update to a newer release of WebLogic Server. Invoking this operation isolates this MBean from the effects of such changes.

Note:

  To insure that you are freezing the default value, invoke the `restoreDefaultValue` operation before you invoke this.

This operation has no effect if you invoke it on an attribute that does not provide a default value or on an attribute for which some other value has been set.

Deprecated. 9.0.0.0

Operation Name | `"freezeCurrentValue"`
Parameters | `Object [] { attributeName }` where: `attributeName` is an object of type `java.lang.String` that specifies: attributeName
Signature | `String [] { "java.lang.String" }`
Returns | `void`
Exceptions | `javax.management.AttributeNotFoundException` `javax.management.MBeanException`

### isSet

Returns true if the specified attribute has been set explicitly in this MBean instance.

Operation Name | `"isSet"`
Parameters | `Object [] { propertyName }` where: `propertyName` is an object of type `java.lang.String` that specifies: property to check
Signature | `String [] { "java.lang.String" }`
Returns | `boolean`

### removeDestinationKey

Remove a destination key from the JMS template or destination. Destination keys define the sort order for messages that arrive on a specific destination. The keys are ordered from most significant to least significant. If more than one key is specified, a key based on the `JMSMessageID` property can only be the last key in the list.

Note: If JMSMessageID is not defined in the key, it is implicitly assumed to be the last key and is set as "ascending" (first-in, first-out) for the sort order.

Operation Name | `"removeDestinationKey"`
Parameters | `Object [] { destinationKey }` where: `destinationKey` is an object of type `weblogic.management.configuration.JMSDestinationKeyMBean` that specifies: a reference to JMSDestinationKeyMBean
Signature | `String [] { "weblogic.management.configuration.JMSDestinationKeyMBean" }`
Returns | `boolean`

### restoreDefaultValue

If the specified attribute has a default value, this operation removes any value that has been set explicitly and causes the attribute to use the default value.

Default values are subject to change if you update to a newer release of WebLogic Server. To prevent the value from changing if you update to a newer release, invoke the `freezeCurrentValue` operation.

This operation has no effect if you invoke it on an attribute that does not provide a default value or on an attribute that is already using the default.

Deprecated. 9.0.0.0

Operation Name | `"restoreDefaultValue"`
Parameters | `Object [] { attributeName }` where: `attributeName` is an object of type `java.lang.String` that specifies: attributeName
Signature | `String [] { "java.lang.String" }`
Returns | `void`
Exceptions | `javax.management.AttributeNotFoundException`

### unSet

Restore the given property to its default value.

Operation Name | `"unSet"`
Parameters | `Object [] { propertyName }` where: `propertyName` is an object of type `java.lang.String` that specifies: property to restore
Signature | `String [] { "java.lang.String" }`
Returns | `void`