@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class CollectSupportDataExtendedRequest extends ExtendedRequest implements IntermediateResponseListener
CollectSupportDataOutputIntermediateResponse
messages) and the
resulting support data archive (using
CollectSupportDataArchiveFragmentIntermediateResponse
messages)
back to the client before the final
CollectSupportDataExtendedResult
response.
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds
package structure, are only
supported for use against Ping Identity, UnboundID, and
Nokia/Alcatel-Lucent 8661 server products. These classes provide support
for proprietary functionality or for external specifications that are not
considered stable or mature enough to be guaranteed to work in an
interoperable way with other types of LDAP servers.
CollectSupportDataRequest ::= SEQUENCE { archiveFileName [0] OCTET STRING OPTIONAL, encryptionPassphrase [1] OCTET STRING OPTIONAL, includeExpensiveData [2] BOOLEAN DEFAULT FALSE, includeReplicationStateDump [3] BOOLEAN DEFAULT FALSE, includeBinaryFiles [4] BOOLEAN DEFAULT FALSE, includeExtensionSource [5] BOOLEAN DEFAULT FALSE, useSequentialMode [6] BOOLEAN DEFAULT FALSE, securityLevel [7] ENUMERATED { none (0), obscureSecrets (1), maximum (2), ... } DEFAULT obscureSecrets, jstackCount [8] INTEGER (0..MAX) DEFAULT 10, reportCount [9] INTEGER (0..MAX) DEFAULT 10, reportIntervalSeconds [10] INTEGER (1..MAX) DEFAULT 1, logCaptureWindow [11] CHOICE { toolDefault [0] NULL, durationMillis [1] INTEGER (0..MAX), timeWindow [2] SEQUENCE { startTime OCTET STRING, endTime OCTET STRING OPTIONAL }, headAndTailSize [3] SEQUENCE { headSizeKB [0] INTEGER OPTIONAL, tailSizeKB [1] INTEGER OPTIONAL }, ... } DEFAULT default, comment [12] OCTET STRING OPTIONAL, proxyToServer [13] SEQUENCE OF { address OCTET STRING, port INTEGER (1..65535), ... } OPTIONAL, maximumFragmentSizeBytes [1] INTEGER DEFAULT 1048576, ... }
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
COLLECT_SUPPORT_DATA_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.6.64) for the collect support data extended
request.
|
TYPE_EXTENDED_REQUEST_OID, TYPE_EXTENDED_REQUEST_VALUE
Constructor and Description |
---|
CollectSupportDataExtendedRequest(CollectSupportDataExtendedRequestProperties properties,
CollectSupportDataIntermediateResponseListener intermediateResponseListener,
Control... controls)
Creates a new instance of this extended request with the provided
information.
|
CollectSupportDataExtendedRequest(ExtendedRequest request,
CollectSupportDataIntermediateResponseListener intermediateResponseListener)
Creates a new collect support data extended request that is decoded from
the provided generic extended request.
|
Modifier and Type | Method and Description |
---|---|
CollectSupportDataExtendedRequest |
duplicate()
Creates a new instance of this LDAP request that may be modified without
impacting this request.
|
CollectSupportDataExtendedRequest |
duplicate(Control[] controls)
Creates a new instance of this LDAP request that may be modified without
impacting this request.
|
java.lang.String |
getArchiveFileName()
Retrieves the name (without any path information) that the client intends
to use for the support data archive file.
|
CollectSupportDataIntermediateResponseListener |
getCollectSupportDataIntermediateResponseListener()
Retrieves the listener that will be notified when any output, archive
fragment, or other types of intermediate response messages are received
in response to this extended request.
|
java.lang.String |
getComment()
Retrieves an additional comment that should be included in the support data
archive.
|
ASN1OctetString |
getEncryptionPassphrase()
Retrieves the passphrase that should be used to encrypt the contents of the
support data archive.
|
java.lang.String |
getExtendedRequestName()
Retrieves the user-friendly name for the extended request, if available.
|
java.lang.Boolean |
getIncludeBinaryFiles()
Retrieves the value of a flag that indicates whether the support data
archive may include binary files.
|
java.lang.Boolean |
getIncludeExpensiveData()
Retrieves the value of a flag that indicates whether the support data
archive may include data that is potentially expensive to collect and
could affect the performance or responsiveness of the server.
|
java.lang.Boolean |
getIncludeExtensionSource()
Retrieves the value of a flag that indicates whether the support data
archive should include source code (if available) for any third-party
extensions installed in the server.
|
java.lang.Boolean |
getIncludeReplicationStateDump()
Retrieves the value of a flag that indicates whether the support data
archive may include a replication state dump, which may be several
megabytes in size.
|
java.lang.Integer |
getJStackCount()
Retrieves the number of times that the jstack utility should be invoked to
obtain stack traces from all threads in the server.
|
CollectSupportDataLogCaptureWindow |
getLogCaptureWindow()
Retrieves the log capture window object that indicates how much log content
should be included in the support data archive.
|
java.lang.Integer |
getMaximumFragmentSizeBytes()
Retrieves the maximum size, in bytes, that may be used for a support data
archive fragment returned in any single
CollectSupportDataArchiveFragmentIntermediateResponse message. |
java.lang.String |
getProxyToServerAddress()
Retrieves the address of the backend Directory Server to which the collect
support data extended request should be forwarded.
|
java.lang.Integer |
getProxyToServerPort()
Retrieves the port of the backend Directory Server to which the collect
support data extended request should be forwarded.
|
java.lang.Integer |
getReportCount()
Retrieves the number of intervals that should be captured from tools that
use interval-based sampling (e.g., vmstat, iostat, mpstat, etc.).
|
java.lang.Integer |
getReportIntervalSeconds()
Retrieves the interval duration in seconds that should be used for tools
that use interval-based sampling (e.g., vmstat, iostat, mpstat, etc.).
|
CollectSupportDataSecurityLevel |
getSecurityLevel()
Retrieves the security level that should be used to indicate which data
should be obscured, redacted, or omitted from the support data archive.
|
java.lang.Boolean |
getUseSequentialMode()
Retrieves the value of a flag that indicates whether the server should
collect items for the support data archive in sequential mode rather than
in parallel.
|
void |
intermediateResponseReturned(IntermediateResponse intermediateResponse)
Indicates that the provided intermediate response has been returned by the
server and may be processed by this intermediate response listener.
|
CollectSupportDataExtendedResult |
process(LDAPConnection connection,
int depth)
Sends this extended request to the directory server over the provided
connection and returns the associated response.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this request to the provided buffer.
|
encodeProtocolOp, getLastMessageID, getOID, getOperationType, getProtocolOpType, getValue, hasValue, responseReceived, toCode, writeTo
followReferrals, getControl, getControlList, getControls, getIntermediateResponseListener, getReferralConnector, getReferralConnectorInternal, getReferralDepth, getResponseTimeoutMillis, hasControl, hasControl, setFollowReferrals, setIntermediateResponseListener, setReferralConnector, setReferralDepth, setResponseTimeoutMillis, toString
@NotNull public static final java.lang.String COLLECT_SUPPORT_DATA_REQUEST_OID
public CollectSupportDataExtendedRequest(@NotNull CollectSupportDataExtendedRequestProperties properties, @NotNull CollectSupportDataIntermediateResponseListener intermediateResponseListener, @Nullable Control... controls)
properties
- The properties that should be used
for the collect support data extended
request. It must not be
null
.intermediateResponseListener
- The listener that will be used to
handle any intermediate response
messages that are received in the
course of processing the collect
support data extended request. It
must not be null
.controls
- The controls to include in the
collect support data extended
request. It may be null
or
empty if no controls are needed.public CollectSupportDataExtendedRequest(@NotNull ExtendedRequest request, @NotNull CollectSupportDataIntermediateResponseListener intermediateResponseListener) throws LDAPException
request
- The generic extended request to be
decoded as a collect support data
extended request. It must not be
null
.intermediateResponseListener
- The listener that will be used to
handle any intermediate response
messages that are received in the
course of processing the collect
support data extended request. It
must not be null
.LDAPException
- If the provided extended request cannot be decoded
as a valid collect support data extended request.@NotNull public CollectSupportDataIntermediateResponseListener getCollectSupportDataIntermediateResponseListener()
@Nullable public java.lang.String getArchiveFileName()
null
if the
server should generate an archive file name.@Nullable public ASN1OctetString getEncryptionPassphrase()
null
if the archive should not
be encrypted.@Nullable public java.lang.Boolean getIncludeExpensiveData()
null
if the property should not be specified when the
task is created (in which case the server will use a default
behavior of excluding expensive data).@Nullable public java.lang.Boolean getIncludeReplicationStateDump()
null
if
the property should not be specified when the task is created (in
which case the server will use a default behavior of excluding the
state dump).@Nullable public java.lang.Boolean getIncludeBinaryFiles()
null
if the property
should not be specified when the task is created (in which case
the server will use a default behavior of excluding binary files).@Nullable public java.lang.Boolean getIncludeExtensionSource()
null
if
the property should not be specified when the task is created (in
which case the server will use a default behavior of excluding
extension source code).@Nullable public java.lang.Boolean getUseSequentialMode()
null
if the property should
not be specified when the task is created (in which case the
server will default to capturing data in parallel).@Nullable public CollectSupportDataSecurityLevel getSecurityLevel()
null
if the property should not be
specified when the task is created (in which case the server will
use a default security level).@Nullable public java.lang.Integer getJStackCount()
null
if the property should not be specified when the task
is created (in which case the server will use a default count).@Nullable public java.lang.Integer getReportCount()
null
if the property
should not be specified when the task is created (in which case
the server will use a default report count).@Nullable public java.lang.Integer getReportIntervalSeconds()
null
if the property
should not be specified when the task is created (in which case
the server will use a default report interval).@Nullable public CollectSupportDataLogCaptureWindow getLogCaptureWindow()
null
if this should not be specified in the request and the server
should choose an appropriate amount of log content.@Nullable public java.lang.String getComment()
null
if no comment should be included.@Nullable public java.lang.String getProxyToServerAddress()
null
if the request should be processed directly by the server that
receives it.@Nullable public java.lang.Integer getProxyToServerPort()
null
if the request should be processed directly by the server that
receives it.@Nullable public java.lang.Integer getMaximumFragmentSizeBytes()
CollectSupportDataArchiveFragmentIntermediateResponse
message.null
if the server should use a
default maximum fragment size.@NotNull public CollectSupportDataExtendedResult process(@NotNull LDAPConnection connection, int depth) throws LDAPException
process
in class ExtendedRequest
connection
- The connection to use to communicate with the directory
server.depth
- The current referral depth for this request. It should
always be one for the initial request, and should only
be incremented when following referrals.LDAPException
- If a problem occurs while sending the request or
reading the response.@NotNull public CollectSupportDataExtendedRequest duplicate()
duplicate
in interface ReadOnlyLDAPRequest
duplicate
in class ExtendedRequest
@NotNull public CollectSupportDataExtendedRequest duplicate(@Nullable Control[] controls)
duplicate
in interface ReadOnlyLDAPRequest
duplicate
in class ExtendedRequest
controls
- The set of controls to include in the duplicate request.@NotNull public java.lang.String getExtendedRequestName()
getExtendedRequestName
in class ExtendedRequest
public void intermediateResponseReturned(@NotNull IntermediateResponse intermediateResponse)
intermediateResponseReturned
in interface IntermediateResponseListener
intermediateResponse
- The intermediate response that has been
returned by the server.public void toString(@NotNull java.lang.StringBuilder buffer)
toString
in interface ProtocolOp
toString
in interface ReadOnlyLDAPRequest
toString
in class ExtendedRequest
buffer
- The buffer to which to append a string representation of
this request.