001: /*
002: * JBoss, Home of Professional Open Source.
003: * Copyright 2006, Red Hat Middleware LLC, and individual contributors
004: * as indicated by the @author tags. See the copyright.txt file in the
005: * distribution for a full listing of individual contributors.
006: *
007: * This is free software; you can redistribute it and/or modify it
008: * under the terms of the GNU Lesser General Public License as
009: * published by the Free Software Foundation; either version 2.1 of
010: * the License, or (at your option) any later version.
011: *
012: * This software is distributed in the hope that it will be useful,
013: * but WITHOUT ANY WARRANTY; without even the implied warranty of
014: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015: * Lesser General Public License for more details.
016: *
017: * You should have received a copy of the GNU Lesser General Public
018: * License along with this software; if not, write to the Free
019: * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
021: */
022: package org.jboss.mq.server.jmx;
023:
024: import java.util.Map;
025:
026: import javax.management.ObjectName;
027:
028: /**
029: * MBean interface.
030: */
031: public interface DestinationManagerMBean extends
032: org.jboss.mq.server.jmx.InterceptorMBean {
033:
034: int getClientCount();
035:
036: java.util.Map getClients();
037:
038: /**
039: * Get the value of PersistenceManager.
040: * @return value of PersistenceManager. */
041: javax.management.ObjectName getPersistenceManager();
042:
043: /**
044: * Set the value of PersistenceManager.
045: * @param v Value to assign to PersistenceManager. */
046: void setPersistenceManager(javax.management.ObjectName objectName);
047:
048: /**
049: * Get the value of StateManager.
050: * @return value of StateManager. */
051: javax.management.ObjectName getStateManager();
052:
053: /**
054: * Set the value of StateManager.
055: * @param v Value to assign to StateManager. */
056: void setStateManager(javax.management.ObjectName objectName);
057:
058: /**
059: * Get the value of MessageCache.
060: * @return value of MessageCache. */
061: javax.management.ObjectName getMessageCache();
062:
063: /**
064: * Set the value of MessageCache.
065: * @param v Value to assign to MessageCache. */
066: void setMessageCache(javax.management.ObjectName objectName);
067:
068: /**
069: * Retrieve the temporary topic/queue max depth
070: * @return the maximum depth
071: */
072: int getTemporaryMaxDepth();
073:
074: /**
075: * Set the temporary topic/queue max depth
076: * @param depth the maximum depth
077: */
078: void setTemporaryMaxDepth(int depth);
079:
080: /**
081: * Retrieve the temporary topic/queue in memory mode
082: * @return true for in memory
083: */
084: boolean getTemporaryInMemory();
085:
086: /**
087: * Set the temporary topic/queue in memory mode
088: * @param mode true for in memory
089: */
090: void setTemporaryInMemory(boolean mode);
091:
092: /**
093: * Get the receivers implemenetation
094: * @return the receivers implementation class
095: */
096: java.lang.Class getReceiversImpl();
097:
098: /**
099: * Set the receivers implementation class
100: * @param clazz the receivers implementation class
101: */
102: void setReceiversImpl(java.lang.Class clazz);
103:
104: /**
105: * Returns the recovery retries
106: */
107: public int getRecoveryRetries();
108:
109: /**
110: * Sets the class implementating the receivers
111: */
112: public void setRecoveryRetries(int retries);
113:
114: /**
115: * Returns ThreadPool.
116: */
117: public ObjectName getThreadPool();
118:
119: /**
120: * Sets ThreadPool.
121: */
122: public void setThreadPool(ObjectName threadPool);
123:
124: /**
125: * Returns the expiry destination.
126: */
127: public ObjectName getExpiryDestination();
128:
129: /**
130: * Sets the expiry destination.
131: */
132: public void setExpiryDestination(ObjectName destination);
133:
134: void createQueue(java.lang.String name) throws java.lang.Exception;
135:
136: void createTopic(java.lang.String name) throws java.lang.Exception;
137:
138: void createQueue(java.lang.String name,
139: java.lang.String jndiLocation) throws java.lang.Exception;
140:
141: void createTopic(java.lang.String name,
142: java.lang.String jndiLocation) throws java.lang.Exception;
143:
144: void destroyQueue(java.lang.String name) throws java.lang.Exception;
145:
146: void destroyTopic(java.lang.String name) throws java.lang.Exception;
147:
148: /**
149: * Sets the destination message counter history day limit <0: unlimited, =0: disabled, > 0 maximum day count
150: * @param days maximum day count
151: */
152: void setMessageCounterHistoryDayLimit(int days);
153:
154: /**
155: * Gets the destination message counter history day limit
156: * @return Maximum day count
157: */
158: int getMessageCounterHistoryDayLimit();
159:
160: /**
161: * get message counter of all configured destinations
162: */
163: org.jboss.mq.server.MessageCounter[] getMessageCounter()
164: throws java.lang.Exception;
165:
166: /**
167: * get message stats
168: */
169: org.jboss.mq.MessageStatistics[] getMessageStatistics()
170: throws java.lang.Exception;
171:
172: /**
173: * List message counter of all configured destinations as HTML table
174: */
175: java.lang.String listMessageCounter() throws java.lang.Exception;
176:
177: /**
178: * Reset message counter of all configured destinations
179: */
180: void resetMessageCounter();
181:
182: /**
183: * Retrieve the prepared transactions
184: *
185: * @return Map<Xid, indoubt boolean>
186: */
187: Map retrievePreparedTransactions();
188:
189: /**
190: * Show the prepared transactions
191: *
192: * @return Some html
193: */
194: String showPreparedTransactions();
195: }
|