Package dev.agenor.tools.agents
Class SnifferSupport
java.lang.Object
dev.agenor.tools.agents.SnifferSupport
Utility class for accessing MessageSnifferAgent from runtime.
Provides convenient static methods for common sniffer operations.
Usage:
// Register sniffer
SnifferSupport.register(runtime);
// Or with custom filter
SnifferSupport.register(runtime, TopicFilter.startsWith("order."), 500);
// Query messages
List<StoredMessage> recent = SnifferSupport.getRecent(runtime, 50);
List<StoredMessage> orders = SnifferSupport.findByTopic(runtime, "order.*");
- Since:
- 0.4.0
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidclear(AgenorRuntime runtime) Clears sniffer history.findByConversation(AgenorRuntime runtime, String conversationId) Gets one conversation's messages, oldest first.findBySender(AgenorRuntime runtime, String senderId) Finds messages by sender.findByTopic(AgenorRuntime runtime, String topicPattern) Finds messages by topic pattern.static Optional<MessageSnifferAgent> get(AgenorRuntime runtime) Gets the sniffer agent from runtime.getConversations(AgenorRuntime runtime) Lists the conversations captured so far with each one's message count.static intgetMessageCount(AgenorRuntime runtime) Gets message count from sniffer.getRecent(AgenorRuntime runtime, int count) Gets recent messages from sniffer.static booleanisActive(AgenorRuntime runtime) Checks if sniffer is registered and capturing.static MessageSnifferAgentregister(AgenorRuntime runtime) Registers a default sniffer agent with the runtime.static MessageSnifferAgentregister(AgenorRuntime runtime, MessageFilter filter, int historySize) Registers a sniffer with custom configuration.static MessageSnifferAgentregister(AgenorRuntime runtime, MessageFilter filter, MessageHistoryService history) Registers a sniffer with filter and shared history.static MessageSnifferAgentregister(AgenorRuntime runtime, MessageHistoryService history) Registers a sniffer with shared history (for WebConsole integration).
-
Method Details
-
register
Registers a default sniffer agent with the runtime.- Parameters:
runtime- the runtime to register with- Returns:
- the registered sniffer
-
register
public static MessageSnifferAgent register(AgenorRuntime runtime, MessageFilter filter, int historySize) Registers a sniffer with custom configuration.- Parameters:
runtime- the runtimefilter- message filterhistorySize- max messages to retain- Returns:
- the registered sniffer
-
register
Registers a sniffer with shared history (for WebConsole integration).- Parameters:
runtime- the runtimehistory- shared history service- Returns:
- the registered sniffer
-
register
public static MessageSnifferAgent register(AgenorRuntime runtime, MessageFilter filter, MessageHistoryService history) Registers a sniffer with filter and shared history.- Parameters:
runtime- the runtimefilter- message filterhistory- shared history service- Returns:
- the registered sniffer
-
get
Gets the sniffer agent from runtime.- Parameters:
runtime- the runtime- Returns:
- optional sniffer if registered
-
getRecent
Gets recent messages from sniffer.- Parameters:
runtime- the runtimecount- max messages- Returns:
- messages or empty list if no sniffer
-
findByTopic
public static List<MessageHistoryService.StoredMessage> findByTopic(AgenorRuntime runtime, String topicPattern) Finds messages by topic pattern.- Parameters:
runtime- the runtimetopicPattern- wildcard pattern- Returns:
- matching messages
-
findBySender
public static List<MessageHistoryService.StoredMessage> findBySender(AgenorRuntime runtime, String senderId) Finds messages by sender.- Parameters:
runtime- the runtimesenderId- sender agent ID- Returns:
- messages from sender
-
findByConversation
public static List<MessageHistoryService.StoredMessage> findByConversation(AgenorRuntime runtime, String conversationId) Gets one conversation's messages, oldest first.- Parameters:
runtime- the runtime holding the snifferconversationId- the conversation to collect- Returns:
- the conversation in the order it happened, empty when no sniffer is registered
- Since:
- 0.31.0
-
getConversations
Lists the conversations captured so far with each one's message count.- Parameters:
runtime- the runtime holding the sniffer- Returns:
- conversation id to message count, empty when no sniffer is registered
- Since:
- 0.31.0
-
getMessageCount
Gets message count from sniffer.- Parameters:
runtime- the runtime- Returns:
- message count or 0 if no sniffer
-
clear
Clears sniffer history.- Parameters:
runtime- the runtime
-
isActive
Checks if sniffer is registered and capturing.- Parameters:
runtime- the runtime- Returns:
- true if sniffer is active
-