This class represents a JMS server. A JMS server manages connections and message requests on behalf of clients.
This section describes attributes that provide access to other MBeans. For more information about the MBean hierarchy, refer to WebLogic Server MBean Data Model.
The message log file configuration for this JMS Server.
Factory Methods | No explicit creator method. The child shares the lifecycle of its parent. |
Privileges | Read only |
Type | JMSMessageLogFileMBean |
Relationship type: | Containment. |
The session pools defined for the JMS server.
Deprecated.
Factory Methods | createJMSSessionPool
(java.lang.String name)
Factory methods do not return objects. See Using factory methods. |
Lookup Operation | lookupJMSSessionPool(String name)
Returns a |
Privileges | Read only |
Type | JMSSessionPoolMBean[] |
Relationship type: | Containment. |
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.
The disk-based file store or JDBC-accessible database store that you specify must be targeted to the same server 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 PersistentStore nor the Store field are set, the JMS server will support persistent messaging using the default persistent store for the targeted WebLogic Server instance.
For more information, see:
Privileges | Read/Write |
Type | PersistentStoreMBean |
Relationship type: | Reference. |
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server. |
The session pools defined for the JMS server. This method is provided for backward compatibility.
Deprecated.
Lookup Operation | lookupJMSSessionPool(String name)
Returns a |
Privileges | Read/Write |
Type | JMSSessionPoolMBean[] |
Relationship type: | Reference. |
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server. |
Privileges | Read/Write |
Type | TargetMBean[] |
Relationship type: | Reference. |
This section describes the following attributes:
Specifies whether JMS clients will get an exception when sending persistent messages to a destination targeted to a JMS server that does not have a persistent store configured. This parameter only has effect when the Store Enabled parameter is disabled (false).
When set to false, the default, clients will get an exception when sending persistent messages to a JMS server with no store configured. When set to true, then persistent messages are downgraded to non-persistent; however, the send operations are allowed to continue.
Privileges | Read/Write |
Type | boolean |
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
and
Preemptive
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.
Privileges | Read/Write |
Type | java.lang.String |
Default Value | FIFO |
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, BEA 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
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
Maximum value | 9223372036854775807 |
This parameter has been deprecated. Paging is always enabled. The "MessageBufferSize" parameter controls how much memory is used before paging kicks in.
Deprecated.
For more information, see:
Privileges | Read/Write |
Type | boolean |
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
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
Maximum value | 9223372036854775807 |
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
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
Maximum value | 9223372036854775807 |
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.
For more information, see:
Privileges | Read/Write |
Type | java.lang.String |
Default Value | default |
A priority that the server uses to determine when it deploys an item. The priority is relative to other deployable items of the same type.
For example, the server prioritizes and deploys all EJBs before it prioritizes and deploys startup classes.
Items with the lowest Deployment Order value are deployed first. There is no guarantee on the order of deployments with equal Deployment Order values. There is no guarantee of ordering across clusters.
Privileges | Read/Write |
Type | int |
Default Value | 1000 |
Minimum value | 0 |
Maximum value | 2147483647 |
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.
Privileges | Read/Write |
Type | int |
Default Value | 30 |
Minimum value | 0 |
Maximum value | 2147483647 |
Specifies whether this JMS server can be used to host temporary destinations.
If this field is enabled and no Temporary Template Name is defined, then the temporary destinations created on this JMS server will use all default destination values. If this field is enabled, then the JMS template to be used for creating temporary destinations is specified by the Temporary Template Name field. If this field is disabled, then this JMS server will not host temporary destinations.
Privileges | Read/Write |
Type | boolean |
Default Value | true |
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.
For more information, see:
Privileges | Read/Write |
Type | java.lang.String |
Default Value | default |
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
and JMSType
.
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.
Privileges | Read/Write |
Type | int |
Default Value | 2147483647 |
Minimum value | 0 |
Maximum value | 2147483647 |
The amount of memory (in bytes) that this JMS server can use to store message bodies before it writes them to disk. When the JMS server writes the message bodies to disk, it clears them from memory.
A value of -1 (the default) specifies that the server will automatically determine a size based on the maximum heap size of the JVM. This default will be set to either one-third the maximum heap size, or 512 megabytes, whichever is larger.
The larger the buffer, the more memory JMS will consume when many messages are waiting on queues or topics. Once the buffer is surpassed, JMS may write message bodies to the directory specified by PagingDirectory in an effort to reduce memory usage below this buffer.
Surpassing the buffer size does not stop the JMS server from accepting new messages. It is still possible to run out of memory if messages are arriving faster than they can be written to disk. Users with high messaging loads who wish to support the highest possible availability should consider setting a quota or setting a threshold and enabling flow control.
Paging is always supported.
For more information, see:
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
Maximum value | 9223372036854775807 |
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, BEA 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.
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
Maximum value | 9223372036854775807 |
This parameter has been deprecated. Paging is always enabled. The "MessageBufferSize" parameter controls how much memory is used before paging kicks in.
Deprecated.
For more information, see:
Privileges | Read/Write |
Type | boolean |
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.
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
Maximum value | 9223372036854775807 |
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
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
Maximum value | 9223372036854775807 |
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 |
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
<
. Carriage returns/line feeds are
preserved.
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 |
Specifies where message bodies are written when the size of the message bodies in the JMS server exceeds the message buffer size.
If unspecified, messages are written to the default
tmp
directory inside the
server-name
subdirectory of a domain's root
directory. For example,
domain-name/servers/server-name/tmp
,
where domain-name
is the root directory of your
domain.
For best performance, this directory should not be the same as the directory used by the JMS server's persistent store.
For more information, see:
Privileges | Read/Write |
Type | java.lang.String |
Return the immediate parent for this MBean
Privileges | Read/Write |
Type |
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.
For more information, see:
Privileges | Read/Write |
Type | java.lang.String |
Default Value | default |
Specifies whether message persistence is supported for this JMS server.
When set to true, the default, then if the JMS server has no store configured, the targeted WebLogic Server instance's default store is used to store persistent messages. When set to false, then this JMS server does not support persistent messages, and instead downgrades them to non-persistent.
BEA recommends not setting this parameter to false. It is available to provide compatibility with older releases.
Privileges | Read/Write |
Type | boolean |
Default Value | true |
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.
For more information, see:
Privileges | Read/Write |
Type | java.lang.String |
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.
For more information, see:
Privileges | Read/Write |
Type | java.lang.String |
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. |
This section describes the following operations:
Add a session pool to the JMS server. This method is provided for backward compatibility.
Deprecated.
Operation Name | "addSessionPool" |
Parameters | Object [] { sessionPool }
where:
|
Signature | String [] {
"weblogic.management.configuration.JMSSessionPoolMBean" } |
Returns |
boolean
|
Exceptions |
|
Operation Name | "addTarget" |
Parameters | Object [] { }
where: |
Signature | String [] {
"weblogic.management.configuration.TargetMBean" } |
Returns |
boolean
|
Exceptions |
|
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.
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.
Operation Name | "freezeCurrentValue" |
Parameters | Object [] { attributeName }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
void
|
Exceptions |
|
Returns true if the specified attribute has been set explicitly in this MBean instance.
Operation Name | "isSet" |
Parameters | Object [] { propertyName }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
boolean
|
Remove a session pool from the JMS server. This method is provided for backward compatibility.
Deprecated.
Operation Name | "removeSessionPool" |
Parameters | Object [] { sessionPool }
where:
|
Signature | String [] {
"weblogic.management.configuration.JMSSessionPoolMBean" } |
Returns |
boolean
|
Exceptions |
|
Operation Name | "removeTarget" |
Parameters | Object [] { }
where: |
Signature | String [] {
"weblogic.management.configuration.TargetMBean" } |
Returns |
boolean
|
Exceptions |
|
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.
Operation Name | "restoreDefaultValue" |
Parameters | Object [] { attributeName }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
void
|
Exceptions |
|
Restore the given property to its default value.
Operation Name | "unSet" |
Parameters | Object [] { propertyName }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
void
|