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.jmx.adaptor.snmp.agent;
023:
024: import java.net.UnknownHostException;
025:
026: import javax.management.ObjectName;
027:
028: import org.jboss.mx.util.ObjectNameFactory;
029: import org.jboss.system.ListenerServiceMBean;
030:
031: /**
032: * SnmpAgentService MBean interface.
033: *
034: * @author <a href="mailto:dimitris@jboss.org">Dimitris Andreadis</a>
035: * @version $Revision: 57210 $
036: */
037: public interface SnmpAgentServiceMBean extends ListenerServiceMBean {
038: /** Default ObjectName */
039: ObjectName OBJECT_NAME = ObjectNameFactory
040: .create("jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor");
041:
042: // Attributes ----------------------------------------------------
043:
044: /** The name of the file containing SNMP manager specifications */
045: void setManagersResName(String managersResName);
046:
047: String getManagersResName();
048:
049: /** The name of the file containing the notification/trap mappings */
050: void setNotificationMapResName(String notificationMapResName);
051:
052: String getNotificationMapResName();
053:
054: /** The resource file name containing get/set mappings */
055: void setRequestHandlerResName(String requestHandlerResName);
056:
057: String getRequestHandlerResName();
058:
059: /** The utilised trap factory name */
060: void setTrapFactoryClassName(String name);
061:
062: String getTrapFactoryClassName();
063:
064: /** The RequestHandler implementation class */
065: void setRequestHandlerClassName(String requestHandlerClassName);
066:
067: String getRequestHandlerClassName();
068:
069: /** The utilised timer MBean name */
070: void setTimerName(ObjectName timerName);
071:
072: ObjectName getTimerName();
073:
074: /** Enables/disables dynamic subscriptions */
075: void setDynamicSubscriptions(boolean dynamicSubscriptions);
076:
077: boolean getDynamicSubscriptions();
078:
079: /** The agent bind address */
080: void setBindAddress(String bindAddress) throws UnknownHostException;
081:
082: String getBindAddress();
083:
084: /** The heartbeat period (in seconds) - 0 disables heartbeat */
085: void setHeartBeatPeriod(int heartBeatPeriod);
086:
087: int getHeartBeatPeriod();
088:
089: /** The agent listening port number */
090: void setPort(int port);
091:
092: int getPort();
093:
094: /** The number of threads in the agent request processing thread pool */
095: void setNumberOfThreads(int numberOfThreads);
096:
097: int getNumberOfThreads();
098:
099: /** The snmp protocol version */
100: void setSnmpVersion(int snmpVersion);
101:
102: int getSnmpVersion();
103:
104: /** The read community (no getter) */
105: void setReadCommunity(String readCommunity);
106:
107: /** The write community (no getter) */
108: void setWriteCommunity(String writeCommunity);
109:
110: /** The time difference (in msecs) between instantiation time and epoch (midnight, January 1, 1970 UTC) */
111: long getInstantiationTime();
112:
113: /** The up-time, in msecs. */
114: long getUptime();
115:
116: /** The current trap counter reading */
117: long getTrapCount();
118:
119: // Operations ----------------------------------------------------
120:
121: /**
122: * Reconfigures the RequestHandler, that is
123: * reponsible for handling get requests etc.
124: */
125: void reconfigureRequestHandler() throws Exception;
126:
127: }
|