This class represents a Store-and-Forward (SAF) agent. A SAF sending agent takes care of storing messages to a persistent storage, forwarding messages to the receiving side, and re-transmitting messages when acknowledgements do not come back in time. A SAF receiving agent takes care of detecting and eliminating duplicate messages sent by the receiving agent, and deliver messages to the final endpoint.
Since | 9.0.0.0 |
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.SAFAgentMBean
|
Factory Methods | No factory methods. Instances of this MBean are created automatically. |
This section describes attributes that provide access to other MBeans.
The jms message log file configuration for this saf agent
Factory Methods | No explicit creator method. The child shares the lifecycle of its parent. |
Privileges | Read only |
Type | JMSSAFMessageLogFileMBean |
Relationship type: | Containment. |
The persistent disk-based file store or JDBC-accessible database for the SAF agent.
If a store is not configured, the server's default store is used.
Privileges | Read/Write |
Type | PersistentStoreMBean |
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:
The maximum interval between two successive acknowledgements sent by the receiving side.
Applies only to agents with receiving capability.
A value of -1
specifies that there is no time limit
between successive acknowledgement.
Updating AcknowlegeInterval
causes connections
starting after the update to use the new value.
Privileges | Read/Write |
Type | long |
Default Value | -1 |
The maximum bytes quota (total amount of bytes) that can be stored in this SAF agent.
The default value of -1
specifies that there is no
WebLogic-imposed limit on the number of bytes that can be stored.
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.
Applies only to agents with sending capability.
Updating BytesMaximum
affects only new
requests.
Range of Values: >= BytesThresholdHigh
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
The upper threshold value that triggers events based on the number of bytes stored in the SAF agent.
The default value of -1
disables the events for
this SAF agent.
Applies only to agents with sending capability.
Updating BytesThresholdHigh
affects only new
requests.
If the number of bytes exceeds this threshold, the triggered events are:
Log Messages: A message is logged on the server indicating a high threshold condition.
Flow Control: The agent 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 |
The lower threshold that triggers events based on the number of bytes stored in the SAF agent.
The default value of -1
disables the events for
this SAF agent.
Applies only to agents with sending capability.
Updating BytesThresholdLow
affects only new
requests.
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: The agent 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 |
Private property that disables caching in proxies.
Privileges | Read only |
Type | boolean |
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server. |
The maximum amount of time allowed before a sending side releases the resources used by a conversation.
If there is no activity for a conversation for the specified amount of time, the sending agent releases all resources for that conversation and notifies the receiving agent to do the same.
A value of 0
specifies that resources for a
conversation are not released unless the application explicitly
closes the conversation.
Updating ConversationIdleTimeMaximum
causes
connections starting after the update to use the new value.
Privileges | Read/Write |
Type | long |
Default Value | 0 |
Minimum value | 0 |
The amount of time, in milliseconds, between the original delivery attempt and the first retry.
If RetryDelayMultiplier
is set to 1
,
this defines the interval between any two successive retry
attempts.
Applies only to agents with sending capability.
Updating DefaultRetryDelayBase
causes connections
starting after the update to use the new value.
Range of Values: <= RetryDelayMaximum if RetryDelayMultiplier is not 1.0.
Privileges | Read/Write |
Type | long |
Default Value | 20000 |
Minimum value | 1 |
The maximum amount of time, in milliseconds, between two successive delivery retry attempts.
Applies only to agents with sending capability.
Updating DefaultRetryDelayMaximum
causes
connections starting after the update to use the new value.
Range of Values: > = RetryDelayBase if RetryDelayMultiplier is not 1.0.
Privileges | Read/Write |
Type | long |
Default Value | 180000 |
Minimum value | 1 |
The factor used to multiply the previous delay time to calculate the next delay time to be used.
Applies only to agents with sending capability.
Updating DefaultRetryDelayMuliplier
causes
connections starting after the update to use the new value.
Range of Values: >= 1.
Privileges | Read/Write |
Type | double |
Default Value | 1.0 |
Minimum value | 1.0 |
The default amount of time, in milliseconds, that the agent guarantees to reliably send messages.
A value of 0 means the agent guarantees to reliably send messages for the duration of the conversation.
Updating DefaultTimeToLive
causes conversations
starting after the update to use the new value.
Privileges | Read/Write |
Type | long |
Default Value | 0 |
Minimum value | 0 |
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 |
Specifies whether the agent is paused for forwarding messages at the startup time.
When enabled, the sending agent forwards messages. Otherwise, the sending agent does not forward any messages.
Privileges | Read/Write |
Type | boolean |
Specifies whether the agent is paused for incoming messages at startup time.
When enabled, the sending agent accepts new messages. Otherwise, the sending agent does not accept any new messages.
Privileges | Read/Write |
Type | boolean |
Specifies whether a message is logged in the server log file when a message fails to be forwarded.
If selected, this applies to messages that fail to be forwarded and delivered to the final destination when there is no error handling in a SAF application or the application's error handling fails.
Applies only to agents with receiving capability.
Updating LoggingEnabled
causes connections starting
after the update to use the new value.
Privileges | Read/Write |
Type | boolean |
Default Value | true |
The maximum number of bytes allowed in individual messages on this SAF agent.
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 SAF agent will receive a
ResourceAllocationException
.
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.
Applies only to agents with sending capability.
Updating MaximumMessageSize
affects only incoming
messages; stored messages are not affected.
Privileges | Read/Write |
Type | int |
Default Value | 2147483647 |
Minimum value | 0 |
Returns the MBean info for this MBean.
Deprecated.
Privileges | Read only |
Type | javax.management.MBeanInfo |
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server. |
The amount of memory used to store message bodies in memory before they are paged out to disk.
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 smaller.
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.
Applies only to agents with sending capability.
Paging is always supported.
Updating the memory size resets the message count so that only requests arriving after the update are charged against the new memory size.
For more information, see:
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
The maximum message quota (total amount of messages) that can be stored in this SAF agent.
The default value of -1
specifies that the server
instance has no 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.
Applies only to sending agents.
Updating the maximum message quota resets the message count so that only requests arriving after the update are charged against the new quota.
Range of Values: >= MessagesThresholdHigh
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
The upper threshold that triggers events based on the number of messages stored in the SAF agent.
The default value of -1
disables the events for
this SAF agent.
Applies only to agents with sending capability.
Updating MessagesThresholdHigh
affects only new
requests.
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: The agent 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 |
The low threshold that triggers events based on the number of messages stored in the SAF agent.
The default value of -1
disables the events for
this SAF agent.
Applies only to agents with sending capability.
Updating MessagesThresholdLow
affects only new
requests.
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: The agent becomes disarmed and instructs producers to begin increasing their message flow.
Range of Values: <= MessagesThresholdHigh.
Privileges | Read/Write |
Type | long |
Default Value | -1 |
Minimum value | -1 |
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 Server 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 |
Returns the ObjectName under which this MBean is registered in the MBean server.
Deprecated.
Privileges | Read only |
Type | weblogic.management.WebLogicObjectName |
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server. |
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 tmp
directory in the host WebLogic Server instance's directory. For
example,
domainName/servers/servername/tmp
.
For best performance, this directory should not be the same as the directory used by the SAF agent's persistent store.
Applies only to agents with sending capability.
For more information, see:
Privileges | Read/Write |
Type | java.lang.String |
Return the immediate parent for this MBean
Privileges | Read/Write |
Type |
Specifies whether the agent is paused for receiving messages at the startup time.
When enabled, the sending agent receives messages. Otherwise, the sending agent does not receive any messages.
Privileges | Read/Write |
Type | boolean |
Returns false if the MBean represented by this object has been unregistered.
Deprecated.
Privileges | Read only |
Type | boolean |
Redeploy or Restart required | Changes take effect after you redeploy the module or restart the server. |
The type of service that this SAF agent provides. JMS requires only a Sending agent on the sending side for messages. Whereas, Web Services Reliable Messaging requires both a Sending and Receiving agent for messages.
Configures an agent that stores messages in persistent storage, forwards messages to the receiving side, and re-transmits messages when acknowledgements do not come back in time.
Configures an agent that detects and eliminates duplicate messages sent by a receiving agent, and delivers messages to the final destination.
Configures an agent that has sending and receiving agent functionality.
Privileges | Read/Write |
Type | java.lang.String |
Default Value | Both |
Legal Values |
|
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. |
The maximum amount of time, in milliseconds, that a JMS sending
agent waits before forwarding messages in a single batch. For a
distributed queue or topic, WindowInterval
setting is
ignored.
A sending agent waits to forward the message batch until either:
(A) the source destination message count is greater than or equal
to the configured Window Size
; (B) it has waited a
specified Window Interval
, whichever comes first.
Privileges | Read/Write |
Type | long |
Default Value | 0 |
Minimum value | 0 |
For JMS messages, the number of messages in a batch. A sending
agent waits to forward a message batch until the source destination
message count is greater than or equal to this value. For a
distributed queue or topic, WindowSize
setting is
ignored and always internally set to 1 message.
For WSRM, the maximum number of unacknowledged messages allowed between a source destination and a target destination during a conversation.
Privileges | Read/Write |
Type | int |
Default Value | 10 |
Minimum value | 1 |
This section describes the following operations:
You can add a target to specify additional servers on which the deployment can be deployed. The targets must be either clusters or servers.
Operation Name | "addTarget" |
Parameters | Object [] { target }
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
|
Removes the value of the addTarget attribute.
For more information, see:
Operation Name | "removeTarget" |
Parameters | Object [] { target }
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
|