/** * Disables message counters for this server. */ @Operation(desc = "Disable message counters", impact = MBeanOperationInfo.ACTION) void disableMessageCounters() throws Exception;
/** * Lists all the messages being deliver per consumer. * <br> * The Map's key is a toString representation for the consumer. Each consumer will then return a {@code Map<String,Object>[]} same way is returned by {@link #listScheduledMessages()} */ @Operation(desc = "List all messages being delivered per consumer") Map<String, Map<String, Object>[]> listDeliveringMessages() throws Exception;
/** * Lists the message counter for this queue as a HTML table. */ @Operation(desc = "List the message counters as HTML", impact = MBeanOperationInfo.INFO) String listMessageCounterAsHTML() throws Exception;
/** * Pauses the queue. Messages are no longer delivered to its consumers. */ @Operation(desc = "Pauses the Queue", impact = MBeanOperationInfo.ACTION) void pause() throws Exception;
/** * Starts this component. */ @Operation(desc = "starts this component") void start() throws Exception;
/** * Reset all message counters. */ @Operation(desc = "Reset all message counters", impact = MBeanOperationInfo.ACTION) void resetAllMessageCounters() throws Exception;
/** * List transactions which have been heuristically rolled back. */ @Operation(desc = "List transactions which have been heuristically rolled back") String[] listHeuristicRolledBackTransactions() throws Exception;
/** * Closes all the connections of clients connected to this server which matches the specified IP address. */ @Operation(desc = "Closes all the connections for the given IP Address", impact = MBeanOperationInfo.INFO) boolean closeConnectionsForAddress(@Parameter(desc = "an IP address", name = "ipAddress") String ipAddress) throws Exception;
/** * Heuristically commits a prepared transaction. * * @param transactionAsBase64 base 64 representation of a prepare transaction * @return {@code true} if the transaction was successfully committed, {@code false} else * @see #listPreparedTransactions() */ @Operation(desc = "Commit a prepared transaction") boolean commitPreparedTransaction(@Parameter(desc = "the Base64 representation of a transaction", name = "transactionAsBase64") String transactionAsBase64) throws Exception;
/** * Closes all the connections of clients connected to this server which matches the specified IP address. */ @Operation(desc = "Closes all the consumer connections for the given messaging address", impact = MBeanOperationInfo.INFO) boolean closeConsumerConnectionsForAddress(@Parameter(desc = "a messaging address", name = "address") String address) throws Exception;
/** * Closes the connection with the given id. */ @Operation(desc = "Closes all the connection with the id", impact = MBeanOperationInfo.INFO) boolean closeConnectionWithID(@Parameter(desc = "The connection ID", name = "ID") String ID) throws Exception;
/** * Lists all the sessions IDs for the specified connection ID. */ @Operation(desc = "List the sessions for the given connectionID", impact = MBeanOperationInfo.INFO) String[] listSessions(@Parameter(desc = "a connection ID", name = "connectionID") String connectionID) throws Exception;
/** * Lists all the messages in this queue matching the specified filter. * <br> * 1 Map represents 1 message, keys are the message's properties and headers, values are the corresponding values. * <br> * Using {@code null} or an empty filter will list <em>all</em> messages from this queue. */ @Operation(desc = "List all the messages in the queue matching the given filter", impact = MBeanOperationInfo.INFO) Map<String, Object>[] listMessages(@Parameter(name = "filter", desc = "A message filter (can be empty)") String filter) throws Exception;
/** * Destroys the queue corresponding to the specified name. */ @Operation(desc = "Destroy a queue", impact = MBeanOperationInfo.ACTION) void destroyQueue(@Parameter(name = "name", desc = "Name of the queue to destroy") String name, @Parameter(name = "removeConsumers", desc = "Remove consumers of this queue") boolean removeConsumers) throws Exception;
/** * Closes the consumer with the given id. */ @Operation(desc = "Closes the consumer with the id", impact = MBeanOperationInfo.INFO) boolean closeConsumerWithID(@Parameter(desc = "The session ID", name = "sessionID") String sessionID, @Parameter(desc = "The consumer ID", name = "ID") String ID) throws Exception;
/** * Moves the message corresponding to the specified message ID to the specified other queue. * * @return {@code true} if the message was moved, {@code false} else */ @Operation(desc = "Move the message corresponding to the given messageID to another queue. rejectDuplicate=false on this case", impact = MBeanOperationInfo.ACTION) boolean moveMessage(@Parameter(name = "messageID", desc = "A message ID") long messageID, @Parameter(name = "otherQueueName", desc = "The name of the queue to move the message to") String otherQueueName) throws Exception;
/** * Changes the priority for all the message corresponding to the specified filter to the specified priority. * <br> * Using {@code null} or an empty filter will change <em>all</em> messages from this queue. * * @return the number of changed messages */ @Operation(desc = "Change the priority of the messages corresponding to the given filter", impact = MBeanOperationInfo.ACTION) int changeMessagesPriority(@Parameter(name = "filter", desc = "A message filter (can be empty)") String filter, @Parameter(name = "newPriority", desc = "the new priority (between 0 and 9)") int newPriority) throws Exception;
@Operation(desc = "Add security settings for addresses matching the addressMatch", impact = MBeanOperationInfo.ACTION) void addSecuritySettings(@Parameter(desc = "an address match", name = "addressMatch") String addressMatch, @Parameter(desc = "a comma-separated list of roles allowed to send messages", name = "send") String sendRoles, @Parameter(desc = "a comma-separated list of roles allowed to consume messages", name = "consume") String consumeRoles, @Parameter(desc = "a comma-separated list of roles allowed to create durable queues", name = "createDurableQueueRoles") String createDurableQueueRoles, @Parameter(desc = "a comma-separated list of roles allowed to delete durable queues", name = "deleteDurableQueueRoles") String deleteDurableQueueRoles, @Parameter(desc = "a comma-separated list of roles allowed to create non durable queues", name = "createNonDurableQueueRoles") String createNonDurableQueueRoles, @Parameter(desc = "a comma-separated list of roles allowed to delete non durable queues", name = "deleteNonDurableQueueRoles") String deleteNonDurableQueueRoles, @Parameter(desc = "a comma-separated list of roles allowed to send management messages messages", name = "manage") String manageRoles) throws Exception;
@Operation(desc = "Add security settings for addresses matching the addressMatch", impact = MBeanOperationInfo.ACTION) void addSecuritySettings(@Parameter(desc = "an address match", name = "addressMatch") String addressMatch, @Parameter(desc = "a comma-separated list of roles allowed to send messages", name = "send") String sendRoles, @Parameter(desc = "a comma-separated list of roles allowed to consume messages", name = "consume") String consumeRoles, @Parameter(desc = "a comma-separated list of roles allowed to create durable queues", name = "createDurableQueueRoles") String createDurableQueueRoles, @Parameter(desc = "a comma-separated list of roles allowed to delete durable queues", name = "deleteDurableQueueRoles") String deleteDurableQueueRoles, @Parameter(desc = "a comma-separated list of roles allowed to create non durable queues", name = "createNonDurableQueueRoles") String createNonDurableQueueRoles, @Parameter(desc = "a comma-separated list of roles allowed to delete non durable queues", name = "deleteNonDurableQueueRoles") String deleteNonDurableQueueRoles, @Parameter(desc = "a comma-separated list of roles allowed to send management messages messages", name = "manage") String manageRoles, @Parameter(desc = "a comma-separated list of roles allowed to browse queues", name = "browse") String browseRoles) throws Exception;
@Operation(desc = "Create a Divert", impact = MBeanOperationInfo.ACTION) void createDivert(@Parameter(name = "name", desc = "Name of the divert") String name, @Parameter(name = "routingName", desc = "Routing name of the divert") String routingName, @Parameter(name = "address", desc = "Address to divert from") String address, @Parameter(name = "forwardingAddress", desc = "Address to divert to") String forwardingAddress, @Parameter(name = "exclusive", desc = "Is the divert exclusive?") boolean exclusive, @Parameter(name = "filterString", desc = "Filter of the divert") String filterString, @Parameter(name = "transformerClassName", desc = "Class name of the divert's transformer") String transformerClassName, @Parameter(name = "transformerProperties", desc = "Configuration properties of the divert's transformer") Map<String, String> transformerProperties, @Parameter(name = "routingType", desc = "How should the routing-type on the diverted messages be set?") String routingType) throws Exception;