Package com.amazonaws.xray.strategy
Class DefaultThrowableSerializationStrategy
- java.lang.Object
-
- com.amazonaws.xray.strategy.DefaultThrowableSerializationStrategy
-
- All Implemented Interfaces:
ThrowableSerializationStrategy
public class DefaultThrowableSerializationStrategy extends java.lang.Object implements ThrowableSerializationStrategy
Default implementation ofThrowableSerializationStrategy. This class auto-registers the java.io.UncheckedIOException class as a remote exception class if no set of remote exception classes is provided in the constructor.
-
-
Constructor Summary
Constructors Constructor Description DefaultThrowableSerializationStrategy()DefaultThrowableSerializationStrategy(int maxStackTraceLength)Constructs a new instance ofDefaultThrowableSerializationStrategy, overriding the max stack trace length default value of 50.DefaultThrowableSerializationStrategy(int maxStackTraceLength, java.util.Set<java.lang.Class<? extends java.lang.Throwable>> remoteExceptionClasses)Constructs a new instance ofDefaultThrowableSerializationStrategy, overriding the max stack trace length default value of 50, and overriding the Throwable classes considered 'remote'.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.List<ThrowableDescription>describeInContext(@Nullable Entity entity, java.lang.Throwable throwable, java.util.List<Subsegment> subsegments)Serializes aThrowableinto aThrowableDescription.java.util.List<ThrowableDescription>describeInContext(java.lang.Throwable throwable, java.util.List<Subsegment> subsegments)Serializes aThrowableinto aThrowableDescription.intgetMaxStackTraceLength()
-
-
-
Constructor Detail
-
DefaultThrowableSerializationStrategy
public DefaultThrowableSerializationStrategy()
-
DefaultThrowableSerializationStrategy
public DefaultThrowableSerializationStrategy(int maxStackTraceLength)
Constructs a new instance ofDefaultThrowableSerializationStrategy, overriding the max stack trace length default value of 50. Use this constructor to include more or less stack trace information in (sub)segments.- Parameters:
maxStackTraceLength- the maximum number of stack trace elements to include in a single (sub)segment.
-
DefaultThrowableSerializationStrategy
public DefaultThrowableSerializationStrategy(int maxStackTraceLength, java.util.Set<java.lang.Class<? extends java.lang.Throwable>> remoteExceptionClasses)Constructs a new instance ofDefaultThrowableSerializationStrategy, overriding the max stack trace length default value of 50, and overriding the Throwable classes considered 'remote'. Use this constructor to include more or less stack trace information in (sub)segments.- Parameters:
maxStackTraceLength- the maximum number of stack trace elements to include in a single (sub)segment.remoteExceptionClasses- the superclasses which extendThrowablefor which exceptions should be considered remote.
-
-
Method Detail
-
describeInContext
public java.util.List<ThrowableDescription> describeInContext(java.lang.Throwable throwable, java.util.List<Subsegment> subsegments)
Description copied from interface:ThrowableSerializationStrategySerializes aThrowableinto aThrowableDescription. Uses the provided subsegments to chain exceptions where possible.- Specified by:
describeInContextin interfaceThrowableSerializationStrategy- Parameters:
throwable- the Throwable to serializesubsegments- the list of subsegment children in which to look for the sameThrowableobject, for chaining- Returns:
- a list of
ThrowableDescriptions which represent the providedThrowable
-
describeInContext
public java.util.List<ThrowableDescription> describeInContext(@Nullable Entity entity, java.lang.Throwable throwable, java.util.List<Subsegment> subsegments)
Description copied from interface:ThrowableSerializationStrategySerializes aThrowableinto aThrowableDescription. Uses the provided subsegments to chain exceptions where possible.- Specified by:
describeInContextin interfaceThrowableSerializationStrategy- Parameters:
entity- the current entity. May be null.throwable- the Throwable to serializesubsegments- the list of subsegment children in which to look for the sameThrowableobject, for chaining- Returns:
- a list of
ThrowableDescriptions which represent the providedThrowable
-
getMaxStackTraceLength
public int getMaxStackTraceLength()
- Returns:
- the maxStackTraceLength
-
-