Package org.frankframework.ladybug
Class IbisDebuggerAdvice
java.lang.Object
org.frankframework.ladybug.IbisDebuggerAdvice
- All Implemented Interfaces:
EventListener
,ThreadLifeCycleEventListener<ThreadDebugInfo>
,IXmlDebugger
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationListener<DebuggerStatusChangedEvent>
public class IbisDebuggerAdvice
extends Object
implements org.springframework.beans.factory.InitializingBean, ThreadLifeCycleEventListener<ThreadDebugInfo>, org.springframework.context.ApplicationListener<DebuggerStatusChangedEvent>, IXmlDebugger
- Author:
- Jaco de Groot, Niels Meijer
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
announceChildThread
(Object owner, String correlationId) void
cancelChildThread
(ThreadDebugInfo threadInfo) debugBlockEnabledSenderInputOutputAbort
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, Object blockHandle, Message message, PipeLineSession pipeLineSession) debugParameterResolvedTo
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, ParameterValueList alreadyResolvedParameters, Message message, PipeLineSession session, boolean namespaceAware) debugPipeGetInputFrom
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, PipeLine pipeLine, IPipe pipe, Message message, PipeLineSession pipeLineSession) Provides advice forLimitingParallelExecutionPipeProcessor.processPipe(PipeLine pipeLine, IPipe pipe, Message message, PipeLineSession session)
LimitingParallelExecutionPipeProcessor is just after InputOutputPipeProcessor, so it sees the effect of the replacements made by the latter.debugPipeInputOutputAbort
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, PipeLine pipeLine, IPipe pipe, Message message, PipeLineSession pipeLineSession) debugPipeLineInputOutputAbort
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, PipeLine pipeLine, String messageId, Message message, PipeLineSession pipeLineSession) <M> M
debugReplyListenerInputOutputAbort
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, ICorrelatedPullingListener<M> listener, String correlationId, PipeLineSession pipeLineSession) debugSenderGetInputFrom
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, AbstractSenderWrapper senderWrapperBase, Message message, PipeLineSession pipeLineSession) debugSenderSendMessage
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, Message message, PipeLineSession pipeLineSession) Provides advice forISender.sendMessage(Message message, PipeLineSession session)
debugSenderSendMessageOrThrow
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, Message message, PipeLineSession pipeLineSession) Provides advice forISender.sendMessageOrThrow(Message message, PipeLineSession session)
debugThreadCreateStartEndAbort
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, Runnable runnable) debugValidatorInputOutputAbort
(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, PipeLine pipeLine, IValidator validator, Message message, PipeLineSession pipeLineSession, String messageRoot) getCorrelationId
(PipeLineSession session) inspectXml
(PipeLineSession session, String label, ContentHandler contentHandler) Allow the debugger to see the XML stream.static Writer
void
threadAborted
(ThreadDebugInfo ref, Throwable t) <R> R
threadCreated
(ThreadDebugInfo ref, R request) <R> R
threadEnded
(ThreadDebugInfo ref, R result) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.context.ApplicationListener
supportsAsyncExecution
-
Field Details
-
ibisManager
-
-
Constructor Details
-
IbisDebuggerAdvice
public IbisDebuggerAdvice()
-
-
Method Details
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
debugPipeLineInputOutputAbort
public PipeLineResult debugPipeLineInputOutputAbort(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, PipeLine pipeLine, String messageId, Message message, PipeLineSession pipeLineSession) throws Throwable Provides advice forCorePipeLineProcessor.processPipeLine(PipeLine pipeLine, String messageId, Message message, PipeLineSession session, String firstPipe)
- Throws:
Throwable
-
debugPipeInputOutputAbort
public PipeRunResult debugPipeInputOutputAbort(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, PipeLine pipeLine, IPipe pipe, Message message, PipeLineSession pipeLineSession) throws Throwable Provides advice forInputOutputPipeProcessor.processPipe(PipeLine pipeLine, IPipe pipe, Message message, PipeLineSession session)
- Throws:
Throwable
-
debugPipeGetInputFrom
public PipeRunResult debugPipeGetInputFrom(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, PipeLine pipeLine, IPipe pipe, Message message, PipeLineSession pipeLineSession) throws Throwable Provides advice forLimitingParallelExecutionPipeProcessor.processPipe(PipeLine pipeLine, IPipe pipe, Message message, PipeLineSession session)
LimitingParallelExecutionPipeProcessor is just after InputOutputPipeProcessor, so it sees the effect of the replacements made by the latter.- Throws:
Throwable
-
debugValidatorInputOutputAbort
public PipeRunResult debugValidatorInputOutputAbort(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, PipeLine pipeLine, IValidator validator, Message message, PipeLineSession pipeLineSession, String messageRoot) throws Throwable - Throws:
Throwable
-
debugSenderSendMessageOrThrow
public Message debugSenderSendMessageOrThrow(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, Message message, PipeLineSession pipeLineSession) throws Throwable Provides advice forISender.sendMessageOrThrow(Message message, PipeLineSession session)
- Throws:
Throwable
-
debugSenderSendMessage
public SenderResult debugSenderSendMessage(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, Message message, PipeLineSession pipeLineSession) throws Throwable Provides advice forISender.sendMessage(Message message, PipeLineSession session)
- Throws:
Throwable
-
debugBlockEnabledSenderInputOutputAbort
public SenderResult debugBlockEnabledSenderInputOutputAbort(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, Object blockHandle, Message message, PipeLineSession pipeLineSession) throws Throwable Provides advice forIBlockEnabledSender.sendMessage(Object blockHandle, Message message, PipeLineSession session)
- Throws:
Throwable
-
inspectXml
public ContentHandler inspectXml(PipeLineSession session, String label, ContentHandler contentHandler) Description copied from interface:IXmlDebugger
Allow the debugger to see the XML stream.- Specified by:
inspectXml
in interfaceIXmlDebugger
-
limitSize
-
debugSenderGetInputFrom
public SenderResult debugSenderGetInputFrom(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, AbstractSenderWrapper senderWrapperBase, Message message, PipeLineSession pipeLineSession) throws Throwable Provides advice forCacheSenderWrapperProcessor.sendMessage(AbstractSenderWrapper senderWrapperBase, Message message, PipeLineSession session)
- Throws:
Throwable
-
debugThreadCreateStartEndAbort
public Object debugThreadCreateStartEndAbort(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, Runnable runnable) throws Throwable - Throws:
Throwable
-
announceChildThread
- Specified by:
announceChildThread
in interfaceThreadLifeCycleEventListener<ThreadDebugInfo>
-
cancelChildThread
- Specified by:
cancelChildThread
in interfaceThreadLifeCycleEventListener<ThreadDebugInfo>
-
threadCreated
- Specified by:
threadCreated
in interfaceThreadLifeCycleEventListener<ThreadDebugInfo>
-
threadEnded
- Specified by:
threadEnded
in interfaceThreadLifeCycleEventListener<ThreadDebugInfo>
-
threadAborted
- Specified by:
threadAborted
in interfaceThreadLifeCycleEventListener<ThreadDebugInfo>
-
debugParameterResolvedTo
public Object debugParameterResolvedTo(org.aspectj.lang.ProceedingJoinPoint proceedingJoinPoint, ParameterValueList alreadyResolvedParameters, Message message, PipeLineSession session, boolean namespaceAware) throws Throwable Provides advice forAbstractParameter.getValue(ParameterValueList alreadyResolvedParameters, Message message, PipeLineSession session, boolean namespaceAware)
- Throws:
Throwable
-
getCorrelationId
-
onApplicationEvent
- Specified by:
onApplicationEvent
in interfaceorg.springframework.context.ApplicationListener<DebuggerStatusChangedEvent>
-