001: /*
002: * JOnAS: Java(TM) Open Application Server
003: * Copyright (C) 1999 Bull S.A.
004: * Contact: jonas-team@objectweb.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * Initial developer(s): Laurent Chauvirey, Frederic Maistre, Nicolas Tachker
022: * Contributor(s):
023: * Philippe Durieux
024: *
025: * --------------------------------------------------------------------------
026: * $Id: JmsJmxManagement.java 4408 2004-03-19 14:31:54Z sauthieg $
027: * --------------------------------------------------------------------------
028: */
029:
030: package org.objectweb.jonas_jms;
031:
032: /**
033: * JMS Administration interface to be implemented for each jms provider.
034: */
035: public interface JmsJmxManagement {
036: /**
037: * Management method
038: * @return the current number of Jms Connection Factory
039: */
040: public int getCurrentNumberOfJmsConnectionFactory();
041:
042: /**
043: * Management method
044: * @return the current number of Topic Jms Connection Factory
045: */
046: public int getCurrentNumberOfJmsTopicConnectionFactory();
047:
048: /**
049: * Management method
050: * @return the current number of Queue Jms Connection Factory
051: */
052: public int getCurrentNumberOfJmsQueueConnectionFactory();
053:
054: /**
055: * Management method
056: * @return the current number of Topic Jms Destination
057: */
058: public int getCurrentNumberOfJmsTopicDestination();
059:
060: /**
061: * Management method
062: * @return the current number of Queue Jms Destination
063: */
064: public int getCurrentNumberOfJmsQueueDestination();
065:
066: /**
067: * Management method
068: * Remove a Jms destination
069: * @param String jndi name
070: * @return the destination type
071: */
072: public String removeJmsDestination(String jndiName)
073: throws Exception;
074:
075: /**
076: * Management method
077: * @return String name of default Connection factory
078: */
079: public String getDefaultConnectionFactoryName();
080:
081: /**
082: * Management method
083: * @return String name of default Queue Connection factory
084: */
085: public String getDefaultQueueConnectionFactoryName();
086:
087: /**
088: * Management method
089: * @return String name of default Topic Connection factory
090: */
091: public String getDefaultTopicConnectionFactoryName();
092:
093: // Monitoring methods
094:
095: /**
096: * Get the messaging mode a connection factory belongs to
097: * @param jndiName connection factory name
098: * @return messaging mode
099: * @exception failure on calling monitoring operation
100: */
101: public String getConnectionFactoryMode(String jndiName)
102: throws Exception;
103:
104: /**
105: * Get number of pending messages on a queue
106: * @param jndiName queue name
107: * @return number of pending messages
108: * @exception failure on calling monitoring operation
109: */
110: public int getPendingMessages(String jndiName) throws Exception;
111:
112: /**
113: * Get number of pending requests on a queue
114: * @param jndiName queue name
115: * @return number of pending requests
116: * @exception failure on calling monitoring operation
117: */
118: public int getPendingRequests(String jndiName) throws Exception;
119:
120: /**
121: * Get number of subscriptions on a topic
122: * @param jndiName topic name
123: * @return number of subscriptions
124: * @exception failure on calling monitoring operation
125: */
126: public int getSubscriptions(String jndiName) throws Exception;
127: }
|