Server: Monitoring: Messaging: JMS Servers
JMS servers act as management containers for the queues and topics in JMS modules that are targeted to them.
This page summarizes the JMS servers that have been created in the current server instance.
Buttons
Name Description Production Pauses or resumes production of new messages on this JMS server.
Consumption Pauses or resumes message consumption on this JMS server.
Insertion Pauses or resumes the insertion of in-flight messages on this JMS server.
Column Display
Name Description Name The name of this JMS server.
MBean Attribute:
WebLogicMBean.Name
Changes take effect after you redeploy the module or restart the server.
Health The health state of this JMS server.
MBean Attribute:
JMSServerRuntimeMBean.HealthState
Health Reason The reason behind the health state of this JMS server.
Persistent Store The file or database in which this JMS server stores persistent messages. If unspecified, the JMS server uses the default persistent store that is configured on each targeted WebLogic Server instance. If the JMS server has a store configured, then the configured store is used to store persistent messages.
The disk-based file store or JDBC-accessible database store that you specify must be targeted to the same server, cluster, or migratable target instance as this JMS server. Multiple services on the same WebLogic Server instance, including multiple JMS servers, may share the same persistent store. Each service's persistent data will be kept apart.
If you specify a PersistentStore, the deprecated Store field must not be set. If neither the PersistentStore field nor the Store field are set, the JMS server supports persistent messaging using the default persistent store for the targeted WebLogic Server instance.
MBean Attribute:
JMSServerMBean.PersistentStore
Changes take effect after you redeploy the module or restart the server.
Target The target on which this JMS server is deployed.
A JMS server can be targeted to a single WebLogic Server instance or to a migratable target. When targeted to a WebLogic Server instance, the Current Server and Targets columns show the same value (a server name). When targeted to a migratable target, the Current Server column indicates the JMS server currently running and the Target column shows the migratable target name.
MBean Attribute:
JMSServerMBean.Targets
Current Server The current server that is hosting this JMS server.
Production Paused Returns the current production paused state of the JMSServer as boolean value.
MBean Attribute:
JMSServerRuntimeMBean.ProductionPaused
Consumption Paused Returns the current consumption paused state of the JMSServer as boolean value.
MBean Attribute:
JMSServerRuntimeMBean.ConsumptionPaused
Insertion Paused Returns the current insertion paused state of the JMSServer as boolean value.
MBean Attribute:
JMSServerRuntimeMBean.InsertionPaused
Temporary Template Resource The name of a JMS module that contains a template that this JMS server can use to create temporary destinations.
Entering a JMS module name requires you to specify a temporary template name. However, a module name cannot be specified if the Hosting Temporary Destinations field is disabled.
MBean Attribute:
JMSServerMBean.TemporaryTemplateResource
Temporary Template Name The name of a configured JMS template that this JMS server uses to create temporary destinations.
Entering a template name, requires you to specify the JMS module that contains this template. However, a template name cannot be specified if the Hosting Temporary Destinations field is disabled.
Note: If the specified JMS template provides persistent store values, they are ignored because temporary destinations do not support persistent messaging.
MBean Attribute:
JMSServerMBean.TemporaryTemplateName
Bytes Maximum The maximum number of bytes that can be stored in this JMS server. A value of
-1
removes any WebLogic Server limits.Because excessive bytes volume can cause memory saturation, Oracle recommends that this maximum corresponds to the total amount of system memory available after accounting for the rest of your application load.
Range of Values: >= BytesThresholdHigh
MBean Attribute:
JMSServerMBean.BytesMaximum
Minimum value:
-1
Maximum value:
9223372036854775807
Messages Maximum The maximum number of messages that can be stored in this JMS server. A value of
-1
removes any WebLogic Server limits.Because excessive message volume can cause memory saturation, Oracle recommends that this value corresponds to the total amount of system memory available after accounting for the rest of your application load.
Range of Values: >= MessagesThresholdHigh.
MBean Attribute:
JMSServerMBean.MessagesMaximum
Minimum value:
-1
Maximum value:
9223372036854775807
Bytes Threshold High The upper threshold (number of bytes stored in this JMS server) that triggers flow control and logging events. A value of
-1
disables the events for this JMS server.The triggered events are:
Log Messages
- A message is logged on the server indicating a high threshold condition.
Flow Control
- If flow control is enabled, the JMS server becomes armed and instructs producers to begin decreasing their message flow.
Range of Values: <= BytesMaximum; >= BytesThresholdLow
MBean Attribute:
JMSServerMBean.BytesThresholdHigh
Minimum value:
-1
Maximum value:
9223372036854775807
Bytes Threshold Low The lower threshold (number of bytes stored in this JMS server) that triggers flow control and logging events. A value of
-1
disables the events for this JMS server.If the number of bytes falls below this threshold, the triggered events are:
Log Messages
- A message is logged on the server indicating that the threshold condition has cleared.
Flow Control
- If flow control is enabled, the JMS server becomes disarmed and instructs producers to begin increasing their message flow.
Range of Values: <= BytesThresholdHigh
MBean Attribute:
JMSServerMBean.BytesThresholdLow
Minimum value:
-1
Maximum value:
9223372036854775807
Messages Threshold High The upper threshold (number of messages stored in this JMS server) that triggers flow control and logging events. A value of
-1
disables the events for this JMS server.If the number of messages exceeds this threshold, the triggered events are:
Log Messages
- A message is logged on the server indicating a high threshold condition.
Flow Control
- If flow control is enabled, the JMS server becomes armed and instructs producers to begin decreasing their message flow.
Range of Values: <= MessagesMaximum; >= MessagesThresholdLow.
MBean Attribute:
JMSServerMBean.MessagesThresholdHigh
Minimum value:
-1
Maximum value:
9223372036854775807
Messages Threshold Low The lower threshold (number of messages stored in this JMS server) that triggers flow control and logging events. A value of
-1
disables the events for this JMS server.If the number of messages falls below this threshold, the triggered events are:
Log Messages
- A message is logged on the server indicating that the threshold condition has cleared.
Flow Control
- If flow control is enabled, the JMS server becomes disarmed and instructs producers to begin increasing their message flow.
Note: This attribute is dynamically configurable.
Range of Values: <= MessagesThresholdHigh
MBean Attribute:
JMSServerMBean.MessagesThresholdLow
Minimum value:
-1
Maximum value:
9223372036854775807
Maximum Message Size The maximum number of bytes allowed in individual messages on this JMS server. The size of a message includes the message body, any user-defined properties, and the user-defined JMS header fields
JMSCorrelationID
andJMSType
.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 64K byte maximum), but a producer could not directly send the 96K byte message to the error destination.
Note: Any change to this maximum affects only incoming messages; stored messages are not affected.
MBean Attribute:
JMSServerMBean.MaximumMessageSize
Minimum value:
0
Maximum value:
2147483647
Expiration Scan Interval The number of seconds between this JMS server's cycles of scanning local destinations for expired messages. A value of
0
disables active scanning. A very large scan interval effectively disables active scanning.With scanning disabled, users still do not receive expired messages and any expired messages that are discovered by other system activities are removed. However, expired messages sitting in idle destinations (such as an inactive queue or disconnected durable subscriber) are not removed and continue to consume system resources.
The scanning cycle for expired messages occurs as follows:
After the specified waiting period, the JMS server devotes a separate thread to scan all of its local destinations for expired messages.
After the scanning is completed, all located expired messages are processed according to the specified Expiration Policy on the destination (Discard, Log, or Redirect).
The entire process repeats after another specified waiting period.
Note: Because a new scan does not start until the current one is finished and until the specified waiting period ends, an expired message could still remain in the system for the maximum scan waiting period plus the amount of time it takes to perform the scan.
MBean Attribute:
JMSServerMBean.ExpirationScanInterval
Minimum value:
0
Maximum value:
2147483647
Blocking Send Policy Determines whether the JMS server delivers smaller messages before larger ones when a destination has exceeded its maximum number of messages.
FIFO
prevents the JMS server from delivering smaller messages when larger ones are already waiting for space.Preemptive
allows smaller send requests to preempt previous larger ones when there is sufficient space for smaller messages on the destination.This policy is defined only for the JMS server; it cannot be set on individual destinations.
Additional information on the
FIFO
andPreemptive
policies is provided below.
FIFO
(first in, first out) indicates that all send requests for the same destination are queued up one behind the other until space is available. No send request is permitted to successfully complete if there is another send request waiting for space before it. When space is limited, the FIFO policy prevents the starvation of larger requests because smaller requests cannot continuously use the remaining available space. Smaller requests are delayed, though not starved, until the larger request can be completed. When space does become available, requests are considered in the order in which they were made. If there is sufficient space for a given request, then that request is completed and the next request is considered. If there is insufficient space for a given request, then no further requests are considered until sufficient space becomes available for the current request to complete.
Preemptive
indicates that a send operation can preempt other blocking send operations if space is available. That is, if there is sufficient space for the current request, then that space is used even if there are other requests waiting for space. When space is limited, the Preemptive policy can result in the starvation of larger requests. For example, if there is insufficient available space for a large request, then it is queued up behind other existing requests. When space does become available, all requests are considered in the order in which they were originally made. If there is sufficient space for a given request, then that request is allowed to continue and the next request is considered. If there is insufficient space for a given request, then that request is skipped and the next request is considered.MBean Attribute:
JMSServerMBean.BlockingSendPolicy
Production Paused At Startup Specifies whether production is paused at server startup on destinations targeted to this JMS server. A destination cannot receive any new messages while it is paused.
When the value is set to
true
, then immediately after the host server instance is rebooted, then this JMS server and its targeted destinations are modified such that they are in a "production paused" state, which results in preventing new message production activities on those destinations.To resume normal new message production activity, later you will have to change the state of this JMS server to a "production enabled" state by setting this value to
false
, and then either redeploy the JMS server or reboot the hosting server instance.When the value is set to
default
, then the Production Paused At Startup is determined based on the corresponding setting on the individual destination.MBean Attribute:
JMSServerMBean.ProductionPausedAtStartup
Changes take effect after you redeploy the module or restart the server.
Insertion Paused At Startup Indicates whether insertion is paused at startup on destinations targeted to this JMS server. A destination cannot receive any new messages while it is paused.
When the value is set to
true
, then immediately after the host server instance is booted, then this JMS server and its targeted destinations are modified such that they are in a "insertion paused" state, which results preventing messages that are result of the "in-flight" work completion to arrive on those destinations.Note: For a detailed definition of "in-flight" work/messages, see weblogic.management.runtime.JMSServerRuntimeMBean#resumeInsertion and weblogic.management.runtime.JMSDestinationRuntime#resumeInsertion
To allow in-flight work messages to appear on the destinations, later you will have to change the state of this JMS server to an "insertion enabled" state by setting this value to
false
, and then either redeploy the JMS server or reboot the hosting server instance.When the value is set to
default
, then the Insertion Paused At Startup is determined based on the corresponding setting on the individual destination.MBean Attribute:
JMSServerMBean.InsertionPausedAtStartup
Changes take effect after you redeploy the module or restart the server.
Consumption Paused At Startup Indicates whether consumption is paused at startup on destinations targeted to this JMS server at startup. A destination cannot receive any new messages while it is paused.
When the value is set to
true
, then immediately after the host server instance is booted, then this JMS server and its targeted destinations are modified such that they are in a "consumption paused" state, which prevents any message consuming activity on those destinations.To allow normal message consumption on the destinations, later you will have to change the state of this JMS server to a "consumption enabled" state by setting this value to
false
, and then either redeploy the JMS server or reboot the hosting server instance.When the value is set to
default
, then the Consumption Paused At Startup is determined based on the corresponding setting on the individual destination.MBean Attribute:
JMSServerMBean.ConsumptionPausedAtStartup
Changes take effect after you redeploy the module or restart the server.