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.2.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.j2ee.descriptor.wl.DefaultSAFAgentBean
|
||
Factory Methods | No factory methods. Instances of this MBean are created automatically. | ||
Access Points |
You can access this MBean from the following MBean attributes:
|
This section describes the following attributes:
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 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 |
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.
Deprecated.
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 |
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 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.
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 |
Optional information that you can include to describe this named JMS descriptor bean.
JMS module saves this note in the JMS descriptor file 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 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 |
Privileges | Read/Write |
Type | long |
Default Value | 0 |
Minimum value | 0 |
The default window size of a SAF agent.
Updating WindowSize
causes connections starting
after the update to use the new value.
Privileges | Read/Write |
Type | int |
Default Value | 10 |
Minimum value | 1 |
This section describes the following operations:
|
Return true if the given property has been explicitly set in this bean.
Operation Name | "isSet" |
Parameters | Object [] { propertyName }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
boolean
|
Exceptions |
|
Restore the given property to its default value.
Operation Name | "unSet" |
Parameters | Object [] { propertyName }
where:
|
Signature | String [] {
"java.lang.String" } |
Returns |
void
|
Exceptions |
|