Full JMX functionality
timfox Jan 9, 2007 1:20 PMI have fleshed out the ServerPeer, Queue and Topic MBean interfaces so now we have complete equivalent JMX functionality to JBossMQ.
I also sorted out the mess that was the Queue/Topic mbean interface
There's basically a whole stack of new stuff in here:
public interface ServerPeerMBean { // JMX attributes int getServerPeerID(); String getJMSVersion(); int getJMSMajorVersion(); int getJMSMinorVersion(); String getJMSProviderName(); String getProviderVersion(); int getProviderMajorVersion(); int getProviderMinorVersion(); String getDefaultQueueJNDIContext(); String getDefaultTopicJNDIContext(); void setSecurityDomain(String securityDomain) throws Exception; String getSecurityDomain(); void setDefaultSecurityConfig(Element conf) throws Exception; Element getDefaultSecurityConfig(); ObjectName getPersistenceManager(); void setPersistenceManager(ObjectName on); ObjectName getPostOffice(); void setPostOffice(ObjectName on); ObjectName getJmsUserManager(); void setJMSUserManager(ObjectName on); ObjectName getDefaultDLQ(); void setDefaultDLQ(ObjectName on); ObjectName getDefaultExpiryQueue(); void setDefaultExpiryQueue(ObjectName on); int getQueuedExecutorPoolSize(); void setQueuedExecutorPoolSize(int poolSize); long getFailoverStartTimeout(); void setFailoverStartTimeout(long timeout); long getFailoverCompleteTimeout(); void setFailoverCompleteTimeout(long timeout); int getDefaultMaxDeliveryAttempts(); void setDefaultMaxDeliveryAttempts(int attempts); long getQueueStatsSamplePeriod(); void setQueueStatsSamplePeriod(long newPeriod); long getDefaultRedeliveryDelay(); void setDefaultRedeliveryDelay(long delay); int getDefaultMessageCounterHistoryDayLimit(); void setDefaultMessageCounterHistoryDayLimit(int limit); // JMX operations String createQueue(String name, String jndiName) throws Exception; String createQueue(String name, String jndiName, int fullSize, int pageSize, int downCacheSize) throws Exception; boolean destroyQueue(String name) throws Exception; String createTopic(String name, String jndiName) throws Exception; String createTopic(String name, String jndiName, int fullSize, int pageSize, int downCacheSize) throws Exception; boolean destroyTopic(String name) throws Exception; Set getDestinations() throws Exception; List getMessageCounters() throws Exception; List getMessageStatistics() throws Exception; String listMessageCountersAsHTML() throws Exception; void resetAllMessageCounters(); void resetAllMessageCounterHistories(); List retrievePreparedTransactions(); String showPreparedTransactionsAsHTML(); } public interface DestinationMBean { // JMX attributes String getName(); String getJNDIName(); void setJNDIName(String jndiName) throws Exception; ObjectName getServerPeer(); void setServerPeer(ObjectName on); ObjectName getDLQ(); void setDLQ(ObjectName on) throws Exception; ObjectName getExpiryQueue(); void setExpiryQueue(ObjectName on) throws Exception; long getRedeliveryDelay(); void setRedeliveryDelay(long delay); int getMaxSize(); void setMaxSize(int maxSize) throws Exception; Element getSecurityConfig(); void setSecurityConfig(Element securityConfig) throws Exception; int getFullSize(); void setFullSize(int fullSize); int getPageSize(); void setPageSize(int pageSize); int getDownCacheSize(); void setDownCacheSize(int downCacheSize); boolean isClustered(); void setClustered(boolean clustered); boolean isCreatedProgrammatically(); int getMessageCounterHistoryDayLimit(); void setMessageCounterHistoryDayLimit(int limit) throws Exception; // JMX operations void removeAllMessages() throws Exception; } ublic interface QueueMBean { // JMX attributes int getMessageCount() throws Exception; int getScheduledMessageCount() throws Exception; MessageCounter getMessageCounter(); MessageStatistics getMessageStatistics() throws Exception; int getConsumerCount() throws Exception; // JMX operations void resetMessageCounter(); void resetMessageCounterHistory(); List listAllMessages() throws Exception; List listAllMessages(String selector) throws Exception; List listDurableMessages() throws Exception; List listDurableMessages(String selector) throws Exception; List listNonDurableMessages() throws Exception; List listNonDurableMessages(String selector) throws Exception; String getMessageCounterAsHTML(); String getMessageCounterHistoryAsHTML(); } public interface TopicMBean { //JMX attributes int getAllMessageCount() throws Exception; int getDurableMessageCount() throws Exception; int getNonDurableMessageCount() throws Exception; int getAllSubscriptionsCount() throws Exception; int getDurableSubscriptionsCount() throws Exception; int getNonDurableSubscriptionsCount() throws Exception; // JMX operations void removeAllMessages() throws Exception; List listAllSubscriptions() throws Exception; List listDurableSubscriptions() throws Exception; List listNonDurableSubscriptions() throws Exception; String listAllSubscriptionsAsHTML() throws Exception; String listDurableSubscriptionsAsHTML() throws Exception; String listNonDurableSubscriptionsAsHTML() throws Exception; List listAllMessages(String subscriptionId) throws Exception; List listAllMessages(String subscriptionId, String selector) throws Exception; List listDurableMessages(String subscriptionId) throws Exception; List listDurableMessages(String subscriptionId, String selector) throws Exception; List listNonDurableMessages(String subscriptionId) throws Exception; List listNonDurableMessages(String subscriptionId, String selector) throws Exception; List getMessageCounters() throws Exception; }