Package com.unitesk.aspectrace.provider
Class StreamTraceProvider
- java.lang.Object
-
- com.unitesk.aspectrace.TraceProvider
-
- com.unitesk.aspectrace.provider.StreamTraceProvider
-
- All Implemented Interfaces:
MessageStreamListener
public class StreamTraceProvider extends TraceProvider implements MessageStreamListener
Преобразователь изпотока сообщений
висточник трассы
.
-
-
Field Summary
Fields Modifier and Type Field Description protected MessageStream
stream
protected java.lang.String
streamName
protected TraceProcessorManager
tpm
-
Constructor Summary
Constructors Constructor Description StreamTraceProvider(MessageStream stream, java.lang.String streamName, TraceProcessorManager tpm)
Основной конструктор.StreamTraceProvider(java.lang.String streamName, TraceProcessorManager tpm)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
handleStreamEnd(boolean normal)
Stream end or disconnection.void
handleStreamMessage(AbstractTraceMessage msg)
Message arrival.void
handleStreamStart()
Stream start.void
process()
Запускает обработку сообщений в целевом PULL-потоке.void
setStream(MessageStream stream)
Установить поток сообщений.-
Methods inherited from class com.unitesk.aspectrace.TraceProvider
addProcessorTag, addProviderTag, attachToManager, fireMessage, fireMessage, fireSyncMessage, fireTagMessage, fireTraceEnd, fireTraceStart, getAdapter, getAllTags, getTags, removeAdapter, removeProcessorTag, removeProviderTag, setAdapter
-
-
-
-
Field Detail
-
streamName
protected java.lang.String streamName
-
stream
protected MessageStream stream
-
tpm
protected TraceProcessorManager tpm
-
-
Constructor Detail
-
StreamTraceProvider
public StreamTraceProvider(java.lang.String streamName, TraceProcessorManager tpm)
-
StreamTraceProvider
public StreamTraceProvider(MessageStream stream, java.lang.String streamName, TraceProcessorManager tpm)
Основной конструктор.- Parameters:
stream
- Поток сообщений. Может бытьnull
, в этом случае надо позже вызвать методsetStream(MessageStream)
до начала трассы.streamName
- Имя потока. Используется для извещения обработчиков.tpm
- Менеджер обработки.
-
-
Method Detail
-
setStream
public void setStream(MessageStream stream) throws java.lang.IllegalStateException
Установить поток сообщений.- Parameters:
stream
- Поток. Может бытьnull
, но в этом случае ничего не меняется.- Throws:
java.lang.IllegalStateException
- Поток уже установлен.
-
handleStreamStart
public void handleStreamStart()
Description copied from interface:MessageStreamListener
Stream start. If the stream has been created earlier or the listener was connected to the stream after the start then the stream start message is not transmitted.- Specified by:
handleStreamStart
in interfaceMessageStreamListener
-
handleStreamMessage
public void handleStreamMessage(AbstractTraceMessage msg)
Description copied from interface:MessageStreamListener
Message arrival.- Specified by:
handleStreamMessage
in interfaceMessageStreamListener
- Parameters:
msg
- Message.
-
handleStreamEnd
public void handleStreamEnd(boolean normal)
Description copied from interface:MessageStreamListener
Stream end or disconnection.- Specified by:
handleStreamEnd
in interfaceMessageStreamListener
- Parameters:
normal
-true
if the end is normal elsefalse
.
-
process
public void process() throws java.io.IOException, java.lang.IllegalStateException, java.lang.IllegalArgumentException
Запускает обработку сообщений в целевом PULL-потоке. Если целевой поток работает по модели PUSH, то данный метод вызывать не следует.- Overrides:
process
in classTraceProvider
- Throws:
java.io.IOException
- Input-Output errorjava.lang.IllegalStateException
- The handling has already begunjava.lang.IllegalArgumentException
- Trace error (casted by a trace source, by an aspect adapter or by a trace handler)
-
-