[jboss-cvs] JBossAS SVN: r111649 - in branches/snmp4j-int/varia/src: main/java/org/jboss/jmx/adaptor/snmp/config/attribute and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jun 21 16:59:27 EDT 2011
Author: thauser at redhat.com
Date: 2011-06-21 16:59:27 -0400 (Tue, 21 Jun 2011)
New Revision: 111649
Modified:
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/AttributeMappingsBinding.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandler.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandlerImpl.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandlerSupport.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentService.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentServiceMBean.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpVarBindFactory.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/TrapEmitter.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/AttributeMappings.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/ManagedBean.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/MappedAttribute.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/Mapping.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/VarBind.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/VarBindList.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/Generator.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/ParserAttributeBindings.java
branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/ParserNotificationBindings.java
branches/snmp4j-int/varia/src/resources/services/snmp/deploy/attributes.xml
branches/snmp4j-int/varia/src/resources/services/snmp/deploy/notifications.xml
Log:
modifications to XML formatting; modifications to getters/setters; modifications to parsing. more to come
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/AttributeMappingsBinding.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/AttributeMappingsBinding.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/AttributeMappingsBinding.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -112,9 +112,8 @@
String oid = attrs.getValue("oid");
String name = attrs.getValue("name");
String mode = attrs.getValue("mode");
- attribute = new MappedAttribute();
- if ("rw".equalsIgnoreCase(mode))
- attribute.setReadWrite(true);
+ attribute = new MappedAttribute();
+ attribute.setMode(mode);
attribute.setName(name);
attribute.setOid(oid);
}
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandler.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandler.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandler.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -21,11 +21,13 @@
*/
package org.jboss.jmx.adaptor.snmp.agent;
-import javax.management.MBeanServer;
+import java.util.List;
import java.util.SortedMap;
+import javax.management.MBeanServer;
+
+import org.jboss.jmx.adaptor.snmp.config.attribute.ManagedBean;
import org.jboss.logging.Logger;
-//import org.opennms.protocols.snmp.SnmpAgentHandler;
/**
* Interface that must be implemented by classes
@@ -46,8 +48,12 @@
* @param uptime the snmp agent uptime
* @throws Exception in case of initialization problem
*/
- public void initialize(String resourceName, MBeanServer server, Logger loggger, Clock uptime)
+ void initialize(String resourceName, MBeanServer server, Logger loggger, Clock uptime)
throws Exception;
+
+ SortedMap getBindings();
+ void addAttributeMappings(List<ManagedBean> mappings);
+ void removeAttributeMappings(List<ManagedBean> mappings);
- public SortedMap getBindings();
+
} // RequestHandler
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandlerImpl.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandlerImpl.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandlerImpl.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -633,34 +633,72 @@
* We have the MBeans now. Put them into the bindungs.
*/
- Iterator it = mappings.iterator();
- while (it.hasNext())
- {
- ManagedBean mmb = (ManagedBean)it.next();
- String oidPrefix = mmb.getOidPrefix();
- List attrs = mmb.getAttributes();
- Iterator aIt = attrs.iterator();
- while (aIt.hasNext())
- {
- Object check = aIt.next();
-
- MappedAttribute ma = (MappedAttribute)check;
+ addAttributeMappings(mappings);
+ }
- String oid;
- if (oidPrefix != null){
- oid = oidPrefix + ma.getOid();
- addObjectEntry(new OID(oidPrefix));
- }
- else{
- oid = ma.getOid();
- OID objectOID = new OID(oid);
- addObjectEntry(objectOID.trim());
- }
- addBindEntry(oid, mmb.getName(), ma.getName(),ma.isReadWrite());
- }
- }
- }
+ /**
+ * @param mappings
+ */
+ public void addAttributeMappings(List<ManagedBean> mappings) {
+ Iterator<ManagedBean> it = mappings.iterator();
+ while (it.hasNext()) {
+ ManagedBean mmb = it.next();
+ String oidPrefix = mmb.getOidPrefix();
+ List attrs = mmb.getAttributes();
+ Iterator aIt = attrs.iterator();
+ while (aIt.hasNext()) {
+ Object check = aIt.next();
+
+ MappedAttribute ma = (MappedAttribute) check;
+
+ String oid;
+ if (oidPrefix != null) {
+ oid = oidPrefix + ma.getOid();
+ addObjectEntry(new OID(oidPrefix));
+ } else {
+ oid = ma.getOid();
+ OID objectOID = new OID(oid);
+ addObjectEntry(objectOID.trim());
+ }
+
+ addBindEntry(oid, mmb.getName(), ma.getName(), ma.isReadWrite());
+
+ }
+ }
+ }
+ /**
+ * @param mappings
+ */
+ public void removeAttributeMappings(List<ManagedBean> mappings) {
+ Iterator<ManagedBean> it = mappings.iterator();
+ while (it.hasNext()) {
+ ManagedBean mmb = it.next();
+ String oidPrefix = mmb.getOidPrefix();
+ List attrs = mmb.getAttributes();
+ Iterator aIt = attrs.iterator();
+ while (aIt.hasNext()) {
+ Object check = aIt.next();
+
+ MappedAttribute ma = (MappedAttribute) check;
+
+ String oid;
+ if (oidPrefix != null) {
+ oid = oidPrefix + ma.getOid();
+ objectKeys.remove(new OID(oidPrefix));
+ } else {
+ oid = ma.getOid();
+ OID objectOID = new OID(oid);
+ objectKeys.remove(objectOID.trim());
+ }
+ OID coid = new OID(oid);
+ oidKeys.remove(coid);
+ bindings.remove(coid);
+
+ }
+ }
+ }
+
/** This method adds a new ObjectEntry to the set of Object OIDs.
* @param String representation of the OID to add.
*
@@ -745,8 +783,7 @@
throw e;
} catch (Exception e) {
log.warn("getValueFor: (" + be.getMbean().toString() + ", "
- + be.getAttr().getName() + ": " + e.toString());
- throw new NoSuchInstanceException();
+ + be.getAttr().getName() + ": " + e.toString());
}
} else {
log.debug("getValueFor: " + NO_ENTRY_FOUND_FOR_OID + oid);
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandlerSupport.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandlerSupport.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/RequestHandlerSupport.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -40,7 +40,7 @@
* @author <a href="mailto:dimitris at jboss.org">Dimitris Andreadis</a>
* @version $Revision$
*/
-public class RequestHandlerSupport implements RequestHandler
+public abstract class RequestHandlerSupport implements RequestHandler
{
// Protected Data ------------------------------------------------
@@ -56,7 +56,6 @@
/** the agent clock */
protected Clock clock;
- private SortedMap bindings;
// Constructors --------------------------------------------------
@@ -70,7 +69,6 @@
// RequestHandler Implementation ---------------------------------
- public SortedMap getBindings(){return this.bindings;}
/**
* Initialize
*/
@@ -82,87 +80,4 @@
this.log = log;
this.clock = uptime;
}
-
- // SnmpAgentHandler Implementation -------------------------------
-
- /**
- * <P>This method is defined to handle SNMP Get requests
- * that are received by the session. The request has already
- * been validated by the system. This routine will build a
- * response and pass it back to the caller.</P>
- *
- * @param pdu The SNMP pdu
- * @param getNext The agent is requesting the lexically NEXT item after each
- * item in the pdu.
- *
- * @return SnmpPduRequest filled in with the proper response, or null if cannot process
- * NOTE: this might be changed to throw an exception.
- */
- public PDU snmpReceivedGetBulk(PDU pdu){
- return null;
- }
- public PDU snmpReceivedGet(PDU pdu)
- {
- return null;
- }
-
- /**
- * <P>This method is defined to handle SNMP Set requests
- * that are received by the session. The request has already
- * been validated by the system. This routine will build a
- * response and pass it back to the caller.</P>
- *
- * @param pdu The SNMP pdu
- *
- * @return SnmpPduRequest filled in with the proper response, or null if cannot process
- * NOTE: this might be changed to throw an exception.
- */
- public PDU snmpReceivedSet(PDU pdu)
- {
- return null;
- }
-
- /**
- * <P>This method is defined to handle SNMP requests
- * that are received by the session. The parameters
- * allow the handler to determine the host, port, and
- * community string of the received PDU</P>
- *
- * @param session The SNMP session
- * @param manager The remote sender
- * @param port The remote senders port
- * @param community The community string
- * @param pdu The SNMP pdu
- *
- */
- public void snmpReceivedPdu(Snmp session, InetAddress manager, int port,
- OctetString community, PDU pdu)
- {
-
- }
-
- /**
- * <P>This method is invoked if an error occurs in
- * the session. The error code that represents
- * the failure will be passed in the second parameter,
- * 'error'. The error codes can be found in the class
- * SnmpAgentSession class.</P>
- *
- * <P>If a particular PDU is part of the error condition
- * it will be passed in the third parameter, 'pdu'. The
- * pdu will be of the type SnmpPduRequest or SnmpPduTrap
- * object. The handler should use the "instanceof" operator
- * to determine which type the object is. Also, the object
- * may be null if the error condition is not associated
- * with a particular PDU.</P>
- *
- * @param session The SNMP Session
- * @param error The error condition value.
- * @param ref The PDU reference, or potentially null.
- * It may also be an exception.
- */
- public void SnmpAgentSessionError(Snmp session, int error, Object ref)
- {
-
- }
}
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentService.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentService.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentService.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -31,6 +31,9 @@
import javax.management.Notification;
import javax.management.ObjectName;
+import org.jboss.jmx.adaptor.snmp.config.attribute.AttributeMappings;
+import org.jboss.jmx.adaptor.snmp.config.attribute.ManagedBean;
+import org.jboss.jmx.adaptor.snmp.config.notification.Mapping;
import org.jboss.jmx.adaptor.snmp.config.user.User;
import org.jboss.jmx.adaptor.snmp.generator.Parser;
import org.jboss.jmx.adaptor.snmp.generator.Generator;
@@ -819,12 +822,32 @@
}
}
+ @Override
+ public void addAttributeMappings(List<ManagedBean> mappings) {
+ requestHandler.addAttributeMappings(mappings);
+ }
+
+ @Override
+ public void removeAttributeMappings(List<ManagedBean> mappings) {
+ requestHandler.removeAttributeMappings(mappings);
+ }
+
+ @Override
+ public void addNotifications(List<Mapping> notifications) {
+ trapEmitter.addNotifications(notifications);
+ }
+
+ @Override
+ public void removeNotifications(List<Mapping> notifications) {
+ trapEmitter.removeNotifications(notifications);
+ }
+
public String getMibResName(){
return this.mibResName;
}
- public void setMibResName(String mibResName){
+public void setMibResName(String mibResName){
this.mibResName = mibResName;
}
-
+
}
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentServiceMBean.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentServiceMBean.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpAgentServiceMBean.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -22,11 +22,16 @@
package org.jboss.jmx.adaptor.snmp.agent;
import java.net.UnknownHostException;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import javax.management.Notification;
import javax.management.ObjectName;
+import org.jboss.jmx.adaptor.snmp.config.attribute.AttributeMappings;
+import org.jboss.jmx.adaptor.snmp.config.attribute.ManagedBean;
+import org.jboss.jmx.adaptor.snmp.config.notification.Mapping;
import org.jboss.mx.util.ObjectNameFactory;
import org.jboss.system.ListenerServiceMBean;
@@ -120,6 +125,13 @@
*
*/
void sendSNMPNotification(String type, Map<String, Object> userData);
+
+ void addAttributeMappings(List<ManagedBean> mappings);
+ void removeAttributeMappings(List<ManagedBean> mappings);
+
+ void addNotifications(List<Mapping> notifications);
+ void removeNotifications(List<Mapping> notifications);
+
/**
* Reconfigures the RequestHandler, that is
* reponsible for handling get requests etc.
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpVarBindFactory.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpVarBindFactory.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/SnmpVarBindFactory.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -24,7 +24,6 @@
import java.util.Map;
import org.jboss.logging.Logger;
-import org.snmp4j.smi.Counter32;
import org.snmp4j.smi.Counter64;
import org.snmp4j.smi.Integer32;
import org.snmp4j.smi.OID;
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/TrapEmitter.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/TrapEmitter.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/agent/TrapEmitter.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -27,6 +27,7 @@
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.SortedMap;
import java.util.Set;
import java.util.regex.Matcher;
@@ -387,10 +388,23 @@
Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
// let JBossXB do it's magic using the MappingObjectModelFactory
- this.notificationMapList = (ArrayList)unmarshaller.unmarshal(is, omf, null);
- }
- catch (Exception e)
- {
+ List<Mapping> notifications = (List<Mapping>)unmarshaller.unmarshal(is, omf, null);
+ log.debug("Found " + notifications.size() + " notification mappings");
+
+ // Initialise the cache with the compiled regular expressions denoting
+ // notification type specifications
+ this.mappingRegExpCache =
+ new ArrayList(notifications.size());
+
+ // Initialise the cache with the instantiated notification wrappers
+ this.notificationWrapperCache =
+ new ArrayList(notifications.size());
+
+ this.notificationMapList =
+ new ArrayList(notifications.size());
+
+ addNotifications(notifications);
+ } catch (Exception e) {
log.error("Accessing resource '" + snmpAgentService.getNotificationMapResName() + "'");
throw e;
}
@@ -401,64 +415,63 @@
// close the XML stream
is.close();
}
- }
- log.debug("Found " + notificationMapList.size() + " notification mappings");
-
- // Initialise the cache with the compiled regular expressions denoting
- // notification type specifications
- this.mappingRegExpCache =
- new ArrayList(notificationMapList.size());
-
- // Initialise the cache with the instantiated notification wrappers
- this.notificationWrapperCache =
- new ArrayList(notificationMapList.size());
-
- for (Iterator i = notificationMapList.iterator(); i.hasNext(); )
- {
- Mapping mapping = (Mapping)i.next();
-
- // Compile and add the regular expression
- String notificationType = mapping.getNotificationType();
-
- try
- {
- Pattern re = Pattern.compile(notificationType);
- this.mappingRegExpCache.add(re);
- }
- catch (PatternSyntaxException e)
- {
- // Fill the slot to keep index count correct
- this.mappingRegExpCache.add(null);
-
- log.warn("Error compiling notification mapping for type: " + notificationType, e);
- }
-
- // Instantiate and add the wrapper
- // Read wrapper class name
- String wrapperClassName = mapping.getVarBindList().getWrapperClass();
-
- log.debug("notification wrapper class: " + wrapperClassName);
-
- try
- {
- NotificationWrapper wrapper =
- (NotificationWrapper)Class.forName(wrapperClassName, true, this.getClass().getClassLoader()).newInstance();
-
- // Initialise it
- wrapper.set(snmpAgentService.getClock(), snmpAgentService.getTrapCounter());
-
- // Add the wrapper to the cache
- this.notificationWrapperCache.add(wrapper);
- }
- catch (Exception e)
- {
- // Fill the slot to keep index count correct
- this.notificationWrapperCache.add(null);
-
- log.warn("Error compiling notification mapping for type: " + notificationType, e);
- }
- }
+ }
}
+
+ public void addNotifications(List<Mapping> notifications) {
+ for (Iterator<Mapping> i = notifications.iterator(); i.hasNext();) {
+ Mapping mapping = i.next();
+
+ // Compile and add the regular expression
+ String notificationType = mapping.getNotificationType();
+
+ try {
+ Pattern re = Pattern.compile(notificationType);
+ this.mappingRegExpCache.add(re);
+ } catch (PatternSyntaxException e) {
+ // Fill the slot to keep index count correct
+ this.mappingRegExpCache.add(null);
+
+ log.warn("Error compiling notification mapping for type: "
+ + notificationType, e);
+ }
+
+ // Instantiate and add the wrapper
+ // Read wrapper class name
+ String wrapperClassName = mapping.getVarBindList()
+ .getWrapperClass();
+
+ log.debug("notification wrapper class: " + wrapperClassName);
+
+ try {
+ NotificationWrapper wrapper = (NotificationWrapper) Class
+ .forName(wrapperClassName, true,
+ this.getClass().getClassLoader()).newInstance();
+
+ // Initialise it
+ wrapper.set(snmpAgentService.getClock(),
+ snmpAgentService.getTrapCounter());
+
+ // Add the wrapper to the cache
+ this.notificationWrapperCache.add(wrapper);
+ } catch (Exception e) {
+ // Fill the slot to keep index count correct
+ this.notificationWrapperCache.add(null);
+
+ log.warn("Error compiling notification mapping for type: "
+ + notificationType, e);
+ }
+
+ notificationMapList.add(mapping);
+ }
+ }
+
+ public void removeNotifications(List<Mapping> notifications) {
+ for (Iterator<Mapping> i = notifications.iterator(); i.hasNext();) {
+ Mapping mapping = i.next();
+ notificationMapList.remove(mapping);
+ }
+ }
/**
* Function used to change the SNMP versions received from managers
@@ -586,6 +599,20 @@
if ("mapping".equals(localName)) {
Mapping m = new Mapping();
+
+ String notificationType = attrs.getValue("notification-type");
+ String generic = attrs.getValue("generic");
+ String specific = attrs.getValue("specific");
+ String enterprise = attrs.getValue("enterprise");
+ String inform = attrs.getValue("inform");
+ String securityName = attrs.getValue("security-name");
+ m.setNotificationType(notificationType);
+ m.setGeneric(Integer.parseInt(generic));
+ m.setSpecific(Integer.parseInt(specific));
+ m.setEnterprise(enterprise);
+ m.setInform(Boolean.parseBoolean(inform));
+ m.setSecurityName(securityName);
+
child = m;
} else if ("var-bind-list".equals(localName)) {
VarBindList vblist = new VarBindList();
@@ -604,6 +631,13 @@
}
} else if ("var-bind".equals(localName)) {
VarBind vb = new VarBind();
+ String oid = attrs.getValue("oid");
+ String tag = attrs.getValue("tag");
+ String type = attrs.getValue("type");
+ vb.setOid(oid);
+ vb.setTag(tag);
+ vb.setType(type);
+
child = vb;
}
return child;
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/AttributeMappings.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/AttributeMappings.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/AttributeMappings.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -22,8 +22,6 @@
package org.jboss.jmx.adaptor.snmp.config.attribute;
import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
/**
* List of mbean attribute mappings to snmp oids.
@@ -31,22 +29,9 @@
* @author Heiko W. Rupp <pilhuhn at user.sf.net>
* @version $Revision$
*/
-public class AttributeMappings
-{
- private List mbeans = new ArrayList();
-
- public void addMonitoredMBean(ManagedBean mbean)
- {
- mbeans.add(mbean);
+public class AttributeMappings extends ArrayList<ManagedBean> {
+
+ public void addMonitoredMBean(ManagedBean mbean) {
+ add(mbean);
}
-
- public Iterator iterator()
- {
- return mbeans.iterator();
- }
-
- public int size()
- {
- return mbeans.size();
- }
}
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/ManagedBean.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/ManagedBean.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/ManagedBean.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -24,46 +24,52 @@
import java.util.ArrayList;
import java.util.List;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+
/**
* ManagedBean holding list of MappedAttributes
*
* @author Heiko W. Rupp <pilhuhn at user.sf.net>
* @version $Release:$
*/
-public class ManagedBean
-{
+public class ManagedBean {
private String name;
private String oidPrefix;
private String oidDefinition;
- private List attributes = new ArrayList();
-
- public List getAttributes()
- {
+ private List<MappedAttribute> attributes;
+
+ /**
+ * Default CTOR
+ */
+ public ManagedBean() {
+ // empty
+ }
+
+ public List<MappedAttribute> getAttributes() {
return attributes;
}
-
- public void setAttributes(List attributes)
- {
+
+ @XmlElement(name="attribute")
+ public void setAttributes(List<MappedAttribute> attributes) {
this.attributes = attributes;
}
-
- public String getName()
- {
+
+ public String getName() {
return name;
}
-
- public void setName(String name)
- {
+
+ @XmlAttribute(name="name")
+ public void setName(String name) {
this.name = name;
}
-
- public String getOidPrefix()
- {
+
+ public String getOidPrefix() {
return oidPrefix;
}
-
- public void setOidPrefix(String oid_prefix)
- {
+
+ @XmlAttribute(name="oid-prefix")
+ public void setOidPrefix(String oid_prefix) {
this.oidPrefix = oid_prefix;
}
@@ -72,13 +78,13 @@
return oidDefinition;
}
+ @XmlAttribute(name="definition-name")
public void setOidDefinition(String oidDefinition)
{
this.oidDefinition = oidDefinition;
}
-
- public String toString()
- {
+
+ public String toString() {
StringBuffer buf = new StringBuffer();
buf.append("[name=").append(name);
buf.append(", oidPrefix=").append(oidPrefix);
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/MappedAttribute.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/MappedAttribute.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/attribute/MappedAttribute.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -21,6 +21,8 @@
*/
package org.jboss.jmx.adaptor.snmp.config.attribute;
+import javax.xml.bind.annotation.XmlAttribute;
+
/**
* An attribute mapping, by default readonly, and a blank description
*
@@ -31,47 +33,59 @@
{
private String name;
private String oid;
- private boolean isReadWrite = false;
- private String type = "";
+ private String mode;
+ private boolean isReadWrite = false;
private String mbName = ""; //the name of the mBean this MappedAttribute is associated with
private String snmpType = ""; //the type for the MIB we should use, if provided
private String oidPrefix = "";
private String oidDefName = "";
-
+
+ public MappedAttribute() {
+ }
+
/** Attribute name */
- public String getName()
- {
+ public String getName() {
return name;
}
-
- public void setName(String name)
- {
+
+ @XmlAttribute(name="name")
+ public void setName(String name) {
this.name = name;
}
-
+
/** Attribute oid */
- public String getOid()
- {
+ public String getOid() {
return oid;
}
-
- public void setOid(String oid)
- {
+
+ @XmlAttribute(name="oid")
+ public void setOid(String oid) {
this.oid = oid;
}
-
- public String getType(){
- return type;
+
+ /** Attribute mode (ro/rw) */
+ public boolean isReadWrite() {
+ return isReadWrite;
}
- public void setType(String type){
- this.type = type;
+ /** Attribute mode (ro/rw) */
+ public String getMode() {
+ return mode;
}
+
+ @XmlAttribute(name="mode")
+ public void setMode(String mode) {
+ this.mode = mode;
+ if(mode != null && mode.equalsIgnoreCase("rw")) {
+ isReadWrite = true;
+ }
+ }
public String getMbean(){
return this.mbName;
}
+ @XmlAttribute(name="name")
public void setMbean(String mbName){
this.mbName = mbName;
}
@@ -102,20 +116,8 @@
public void setOidDefName(String oidDefName){
this.oidDefName = oidDefName;
}
-
- /** Attribute mode (ro/rw) */
- public boolean isReadWrite()
- {
- return isReadWrite;
- }
-
- public void setReadWrite(boolean mode)
- {
- isReadWrite = mode;
- }
-
- public String toString()
- {
+
+ public String toString() {
StringBuffer buf = new StringBuffer();
buf.append("[name=").append(name);
buf.append(", oid=").append(oid);
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/Mapping.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/Mapping.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/Mapping.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -40,7 +40,7 @@
private String securityName;
private VarBindList varBindList;
private String name;
- private String enterpriseName;
+ private String oidDefName;
// Constructors -------------------------------------------------
@@ -140,12 +140,12 @@
return securityName;
}
- public void setEnterpriseName(String en){
- this.enterpriseName = en;
+ public void setOidDef(String en){
+ this.oidDefName = en;
}
- public String getEnterpriseName(){
- return this.enterpriseName;
+ public String getOidDef(){
+ return this.oidDefName;
}
// Object overrides ----------------------------------------------
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/VarBind.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/VarBind.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/VarBind.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -21,6 +21,8 @@
*/
package org.jboss.jmx.adaptor.snmp.config.notification;
+import javax.xml.bind.annotation.XmlAttribute;
+
/**
* Simple POJO class to model XML data
*
@@ -28,56 +30,63 @@
*
* @version $Revision$
*/
-public class VarBind
-{
- // Private Data --------------------------------------------------
+public class VarBind {
+ // Private Data --------------------------------------------------
- private String tag;
- private String oid;
+ private String tag;
+ private String oid;
+ private String type;
- // Constructors -------------------------------------------------
-
- /**
- * Default CTOR
- */
- public VarBind()
- {
- // empty
- }
+ // Constructors -------------------------------------------------
- // Accessors/Modifiers -------------------------------------------
-
- public String getOid()
- {
- return oid;
- }
+ /**
+ * Default CTOR
+ */
+ public VarBind() {
+ // empty
+ }
- public String getTag()
- {
- return tag;
- }
+ // Accessors/Modifiers -------------------------------------------
- public void setOid(String oid)
- {
- this.oid = oid;
- }
-
- public void setTag(String tag)
- {
- this.tag = tag;
- }
+ public String getOid() {
+ return oid;
+ }
- // Object overrides ----------------------------------------------
-
- public String toString()
- {
- StringBuffer sbuf = new StringBuffer(256);
-
- sbuf.append('[')
- .append("tag=").append(tag)
- .append(", oid=").append(oid)
- .append(']');
-
- return sbuf.toString();
- }
+ public String getTag() {
+ return tag;
+ }
+
+ @XmlAttribute(name = "oid")
+ public void setOid(String oid) {
+ this.oid = oid;
+ }
+
+ @XmlAttribute(name = "tag")
+ public void setTag(String tag) {
+ this.tag = tag;
+ }
+
+ @XmlAttribute(name = "type")
+ public void setType(String type) {
+ this.type = type;
+ }
+
+ /**
+ * @return the type
+ */
+ public String getType() {
+ return type;
+ }
+
+ // Object overrides ----------------------------------------------
+
+ public String toString() {
+ StringBuffer sbuf = new StringBuffer(256);
+
+ sbuf.append('[').append("tag=").append(tag).append(", oid=")
+ .append(oid).append(", type=")
+ .append(type).append(']');
+
+ return sbuf.toString();
+ }
}
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/VarBindList.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/VarBindList.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/config/notification/VarBindList.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -24,6 +24,9 @@
import java.util.ArrayList;
import java.util.List;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+
/**
* Simple POJO class to model XML data
*
@@ -31,61 +34,53 @@
*
* @version $Revision$
*/
-public class VarBindList
-{
- // Private Data --------------------------------------------------
+public class VarBindList {
+ // Private Data --------------------------------------------------
- private String wrapperClass;
- private List varBindList = new ArrayList();
+ private String wrapperClass = "org.jboss.jmx.adaptor.snmp.agent.NotificationWrapperSupport";
+ private List<VarBind> varBindList = new ArrayList<VarBind>();
- // Constructors -------------------------------------------------
-
- /**
- * Default CTOR
- */
- public VarBindList()
- {
- // empty
- }
+ // Constructors -------------------------------------------------
- // Accessors/Modifiers -------------------------------------------
+ /**
+ * Default CTOR
+ */
+ public VarBindList() {
+ // empty
+ }
- public String getWrapperClass()
- {
- return wrapperClass;
- }
-
- public List getVarBindList()
- {
- return varBindList;
- }
-
- public void setWrapperClass(String wrapperClass)
- {
- this.wrapperClass = wrapperClass;
- }
-
- public void setVarBindList(List varBindList)
- {
- this.varBindList = varBindList;
- }
-
- public void addVarBind(VarBind varBind)
- {
- varBindList.add(varBind);
- }
+ // Accessors/Modifiers -------------------------------------------
- // Object overrides ----------------------------------------------
-
- public String toString()
- {
- StringBuffer sbuf = new StringBuffer(256);
-
- sbuf.append('[')
- .append("wrapperClass=").append(wrapperClass)
- .append(", varBindList=").append(varBindList)
- .append(']');
-
- return sbuf.toString();
- }
+ public String getWrapperClass() {
+ return wrapperClass;
+ }
+
+ public List<VarBind> getVarBindList() {
+ return varBindList;
+ }
+
+ @XmlAttribute(name = "wrapper-class")
+ public void setWrapperClass(String wrapperClass) {
+ this.wrapperClass = wrapperClass;
+ }
+
+ @XmlElement(name = "var-bind")
+ public void setVarBindList(List<VarBind> varBindList) {
+ this.varBindList = varBindList;
+ }
+
+ public void addVarBind(VarBind child) {
+ this.varBindList.add(child);
+ }
+
+ // Object overrides ----------------------------------------------
+
+ public String toString() {
+ StringBuffer sbuf = new StringBuffer(256);
+
+ sbuf.append('[').append("wrapperClass=").append(wrapperClass)
+ .append(", varBindList=").append(varBindList).append(']');
+
+ return sbuf.toString();
+ }
}
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/Generator.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/Generator.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/Generator.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -284,6 +284,27 @@
private String objectId;
private String fullOid;
private String oidDef;
+
+
+ MIBObject(String name, String fullOid, String oidDefName){
+ this.name = name;
+ this.syntax = "DisplayString";
+ this.maxAccess = "read-only";
+ this.status = "current";
+ this.description = "";
+ String[] temp = fullOid.split("\\.");
+ this.objectId = temp[temp.length-1];
+ String oidPrefix="";
+ for (int i = 0; i<temp.length-1;i++){
+ if(i==temp.length-2)
+ oidPrefix+=temp[i];
+ else
+ oidPrefix+=temp[i]+".";
+ }
+ this.fullOid = fullOid;
+ setOidDef(oidPrefix, oidDefName);
+ }
+
MIBObject(MappedAttribute ma){
// names must begin with lowercase, or the manager complains / gives warnings
@@ -321,23 +342,28 @@
this.fullOid = ma.getOidPrefix()+"."+this.objectId;
// check if there is already an OID definition for this prefix. If there is make this MIBObject's
// oidDef reflect that
- if (oidDefMap.containsKey(ma.getOidPrefix())){
- this.oidDef = oidDefMap.get(ma.getOidPrefix()).getName();
+ setOidDef(ma.getOidPrefix(), ma.getOidDefName());
+
+ }
+
+ public void setOidDef(String oidPrefix, String oidDefName){
+ if (oidDefMap.containsKey(oidPrefix)){
+ this.oidDef = oidDefMap.get(oidPrefix).getName();
}
// if they aren't part of the Map, then we add them to the map with a filler name "CHANGE-ME"
// as there is no way to glean this name from the attributes.xml without
// complexifying it
else{
- if (ma.getOidDefName() != null){
+ if (oidDefName != null){
// the name to be used is in the attributes.xml. use it.
- OIDDef newOidDef = new OIDDef(ma.getOidDefName(), ma.getOidPrefix());
- oidDefMap.put(ma.getOidPrefix(), newOidDef);
- this.oidDef=ma.getOidDefName();
+ OIDDef newOidDef = new OIDDef(oidDefName, oidPrefix);
+ oidDefMap.put(oidPrefix, newOidDef);
+ this.oidDef=oidDefName;
}
else { // everything failed. the attributes.xml doesn't specify a name for the oid definition to be used,
// nor do we already know about it.
- OIDDef newOidDef = new OIDDef("UNKNOWN", ma.getOidPrefix());
- oidDefMap.put(ma.getOidPrefix(), newOidDef);
+ OIDDef newOidDef = new OIDDef("UNKNOWN", oidPrefix);
+ oidDefMap.put(oidPrefix, newOidDef);
this.oidDef="UNKNOWN";
}
}
@@ -407,11 +433,11 @@
}
// if they aren't part of the Map, then we add them to the map
else{
- if (mp.getEnterpriseName() != null){
+ if (mp.getOidDef() != null){
// the name to be used is in the xml being parsed. use it.
- OIDDef newOidDef = new OIDDef(mp.getEnterpriseName(),oidPrefix);
+ OIDDef newOidDef = new OIDDef(mp.getOidDef(),oidPrefix);
oidDefMap.put(oidPrefix, newOidDef);
- this.oidDef=mp.getEnterpriseName();
+ this.oidDef=mp.getOidDef();
}
else { // everything failed. the attributes.xml doesn't specify a name for the oid definition to be used,
// nor do we already know about it.
@@ -439,31 +465,50 @@
}
public void setObjects(ArrayList<VarBind> vbList){
+ // there are special conditions in this section that we need to accoutn for, and
+ // define more MIBObjects. They are all of the n:tags
+ // more changes need to be done
Iterator vbIt = vbList.iterator();
ArrayList<String> oids = new ArrayList<String>(10);
while(vbIt.hasNext()){
VarBind vb = (VarBind)vbIt.next();
- oids.add(vb.getOid());
+ oids.add(vb.getOid());
+ if (vb.getTag().matches("^n:.*")){
+ createNotifPayloadMibo(vb);
+ }
}
// have all the oids. compare these to the MIBObject's full OID. if it fails,
// put OID into the Objects ArrayList.
int index = 0;
Iterator<String> oidIt = oids.iterator();
- nextObject:
- while (oidIt.hasNext()){
+ nextOid: while (oidIt.hasNext()){
String oidString = oidIt.next();
for(index=0; index<miboList.size();index++){
if (oidString.equals(miboList.get(index).getFullOid())){
this.objects.add(miboList.get(index).getName());
- continue nextObject;
+ continue nextOid;
}
}
// if we get here; there is no matching MIBObject for this oid. put UNKNOWNOBJECT here instead.
this.objects.add("UNKNOWNOBJECT");
}
}
+
+ //if we found a tag that matches n:.*, we create a new MIBObject so that this object
+ //is included in the mib.
+ public void createNotifPayloadMibo(VarBind vb){
+ String[] tag = vb.getTag().split(":");
+ //hacky. maybe a cleaner way to do this later?
+ String name = "jbossJmxNotification"+tag[tag.length-1].substring(0,1).toUpperCase()+tag[tag.length-1].substring(1);
+
+
+ MIBObject newMibo = new MIBObject(name,vb.getOid(), null); //null third param for now.
+ // maybe better way to glean it
+ miboList.add(newMibo);
+ }
+
public ArrayList<String> getObjects(){
return this.objects;
}
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/ParserAttributeBindings.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/ParserAttributeBindings.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/ParserAttributeBindings.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -95,8 +95,7 @@
String mode = attrs.getValue("mode");
String snmpType = attrs.getValue("snmp-type");
attribute = new MappedAttribute();
- if ("rw".equalsIgnoreCase(mode))
- attribute.setReadWrite(true);
+ attribute.setMode(mode);
attribute.setName(name);
attribute.setOid(oid);
attribute.setSnmpType(snmpType);
Modified: branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/ParserNotificationBindings.java
===================================================================
--- branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/ParserNotificationBindings.java 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/main/java/org/jboss/jmx/adaptor/snmp/generator/ParserNotificationBindings.java 2011-06-21 20:59:27 UTC (rev 111649)
@@ -56,6 +56,24 @@
if ("mapping".equals(localName)) {
Mapping m = new Mapping();
+
+ String notificationType = attrs.getValue("notification-type");
+ String generic = attrs.getValue("generic");
+ String specific = attrs.getValue("specific");
+ String enterprise = attrs.getValue("enterprise");
+ String inform = attrs.getValue("inform");
+ String securityName = attrs.getValue("security-name");
+ String name = attrs.getValue("name");
+ String oidDef = attrs.getValue("definition-name");
+ m.setName(name);
+ m.setOidDef(oidDef);
+ m.setNotificationType(notificationType);
+ m.setGeneric(Integer.parseInt(generic));
+ m.setSpecific(Integer.parseInt(specific));
+ m.setEnterprise(enterprise);
+ m.setInform(Boolean.parseBoolean(inform));
+ m.setSecurityName(securityName);
+
child = m;
} else if ("var-bind-list".equals(localName)) {
VarBindList vblist = new VarBindList();
@@ -74,6 +92,12 @@
}
} else if ("var-bind".equals(localName)) {
VarBind vb = new VarBind();
+ String oid = attrs.getValue("oid");
+ String tag = attrs.getValue("tag");
+ String type = attrs.getValue("type");
+ vb.setOid(oid);
+ vb.setTag(tag);
+ vb.setType(type);
child = vb;
}
return child;
@@ -122,8 +146,8 @@
m.setSecurityName(value);
} else if ("name".equals(localName)){
m.setName(value);
- } else if ("enterpriseName".equals(localName)){
- m.setEnterpriseName(value);
+ } else if ("definition-name".equals(localName)){
+ m.setOidDef(value);
}
} else if (o instanceof VarBind) {
Modified: branches/snmp4j-int/varia/src/resources/services/snmp/deploy/attributes.xml
===================================================================
--- branches/snmp4j-int/varia/src/resources/services/snmp/deploy/attributes.xml 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/resources/services/snmp/deploy/attributes.xml 2011-06-21 20:59:27 UTC (rev 111649)
@@ -13,7 +13,7 @@
<!-- basic system information -->
<mbean name="jboss.system:type=ServerInfo" oid-prefix="1.3.6.1.4.1.2312.100.1.1" definition-name="jbossAsObjects">
- <attribute name="ActiveThreadCount" oid=".1.0"/>
+ <attribute name="ActiveThreadCount" oid=".1"/>
<attribute name="FreeMemory" oid=".2"/>
<attribute name="MaxMemory" oid=".3"/>
</mbean>
@@ -23,13 +23,11 @@
<attribute name="requestCount" oid=".1.3.6.1.4.1.2312.100.1.1.5"/>
</mbean>
- <!-- Tx Manager statistics -->
-<!-- <mbean name="jboss:service=TransactionManager">
- <attribute name="CommitCount" oid=".1.3.6.1.4.1.2312.100.1.1.6.0"/>
- <attribute name="RollbackCount" oid=".1.3.6.1.4.1.2312.100.1.1.7.0"/>
- <attribute name="TransactionCount" oid=".1.3.6.1.4.1.2312.100.1.1.8.0"/>
- </mbean>-->
-
+ <mbean name="jboss.jmx:name=SnmpAgent,service=snmp,type=adaptor" oid-prefix="1.3.6.1.4.1.2312.100.1.1">
+ <attribute name="Uptime" oid=".6"/>
+ <attribute name="InstantiationTime" oid=".7"/>
+ <attribute name="TrapCount" oid=".11"/>
+ </mbean>
<!-- DefaultDS statistics -->
<mbean name="jboss.jca:name=DefaultDS,service=ManagedConnectionPool" oid-prefix="1.3.6.1.4.1.2312.100.1.1">
<attribute name="InUseConnectionCount" oid=".9"/>
Modified: branches/snmp4j-int/varia/src/resources/services/snmp/deploy/notifications.xml
===================================================================
--- branches/snmp4j-int/varia/src/resources/services/snmp/deploy/notifications.xml 2011-06-21 18:17:50 UTC (rev 111648)
+++ branches/snmp4j-int/varia/src/resources/services/snmp/deploy/notifications.xml 2011-06-21 20:59:27 UTC (rev 111649)
@@ -22,107 +22,19 @@
-->
<notification-map-list>
- <mapping>
- <notification-type>jboss.snmp.agent.heartbeat</notification-type>
- <name>jbossAsHeartbeatNotification</name>
- <generic>0</generic>
- <specific>3</specific>
- <enterpriseName>jbossAsTraps</enterpriseName>
- <enterprise>1.3.6.1.4.1.2312.100.1.2</enterprise>
+ <mapping name="jbossAsHeartbeatNotification" notification-type="jboss.snmp.agent.heartbeat" generic="0" specific="3" enterprise="1.3.6.1.4.1.2312.100.1.2" definition-name="jbossAsTraps">
<var-bind-list wrapper-class="org.jboss.jmx.adaptor.snmp.agent.NotificationWrapperSupport">
- <var-bind>
- <tag>a:uptime</tag>
- <oid>1.3.6.1.2.1.1.3</oid>
- </var-bind>
- <var-bind>
- <tag>a:trapCount</tag>
- <oid>1.2.3.4.5.6.7.6</oid>
- </var-bind>
- <var-bind>
- <tag>n:message</tag>
- <oid>1.2.3.4.5.6.7.7</oid>
- </var-bind>
- <var-bind>
- <tag>n:sequenceNumber</tag> <!-- todo: convert all of these to correct OIDs. -->
- <oid>1.2.3.4.5.6.7.8</oid>
- </var-bind>
+ <var-bind tag="a:uptime" oid="1.3.6.1.2.1.1.3"/>
+ <var-bind tag="a:trapCount" oid="1.3.6.1.4.1.2312.1001.1.11"/>
+ <var-bind tag="n:message" oid="1.3.6.1.4.1.2312.1001.1.1.30"/>
+ <var-bind tag="n:sequenceNumber" oid="1.3.6.1.4.1.2312.100.1.1.31"/>
</var-bind-list>
</mapping>
- <mapping>
- <notification-type>jboss.snmp.agent.coldstart</notification-type>
- <name>jbossAsColdstartNotification</name>
- <generic>0</generic>
- <specific>1</specific>
- <enterprise>1.3.6.1.4.1.2312.100.1.2</enterprise>
- <!--inform>true</inform-->
- <security-name>TEST</security-name>
+ <mapping name="jbossAsColdstartNotification" notification-type="jboss.snmp.agent.coldstart" generic="0" specific="1" enterprise="1.3.6.1.4.1.2312.100.1.2" inform="false" security-name="TEST">
<var-bind-list wrapper-class="org.jboss.jmx.adaptor.snmp.agent.NotificationWrapperSupport">
- <var-bind>
- <tag>a:startTime</tag>
- <oid>1.2.3.4.5.6.7.9</oid>
- </var-bind>
- <var-bind>
- <tag>a:trapCount</tag>
- <oid>1.2.3.4.5.6.7.6</oid>
- </var-bind>
+ <var-bind tag="a:startTime" oid="1.3.6.1.4.1.2312.100.1.1.7"/>
+ <var-bind tag="a:trapCount" oid="1.3.6.1.4.1.2312.100.1.1.11"/>
</var-bind-list>
</mapping>
-
-<!-- Used for internal testing -ignore -->
- <mapping>
- <notification-type>jboss.snmp.agent.v1test</notification-type>
- <name>jbossV1testNotification</name>
- <generic>0</generic>
- <specific>10</specific>
- <enterprise>1.3.6.1.4.1.2312.100.1.2</enterprise>
- <var-bind-list wrapper-class="org.jboss.jmx.adaptor.snmp.agent.NotificationWrapperSupport">
- <var-bind>
- <tag>a:startTime</tag>
- <oid>1.2.3.4.5.6.7.9</oid>
- </var-bind>
- <var-bind>
- <tag>a:trapCount</tag>
- <oid>1.2.3.4.5.6.7.6</oid>
- </var-bind>
- </var-bind-list>
- </mapping>
-
- <mapping>
- <notification-type>jboss.snmp.agent.v2test</notification-type>
- <name>jbossV2notificationTest</name>
- <generic>0</generic>
- <specific>11</specific>
- <enterprise>1.3.6.1.4.1.2312.100.1.2</enterprise>
- <var-bind-list wrapper-class="org.jboss.jmx.adaptor.snmp.agent.NotificationWrapperSupport">
- <var-bind>
- <tag>a:startTime</tag>
- <oid>1.2.3.4.5.6.7.9</oid>
- </var-bind>
- <var-bind>
- <tag>a:trapCount</tag>
- <oid>1.2.3.4.5.6.7.6</oid>
- </var-bind>
- </var-bind-list>
- </mapping>
-
- <mapping>
- <notification-type>jboss.snmp.agent.v3test</notification-type>
- <name>jbossV3notificationTest</name>
- <generic>0</generic>
- <specific>12</specific>
- <enterprise>1.3.6.1.4.1.2312.100.1.2</enterprise>
- <var-bind-list wrapper-class="org.jboss.jmx.adaptor.snmp.agent.NotificationWrapperSupport">
- <var-bind>
- <tag>a:startTime</tag>
- <oid>1.2.3.4.5.6.7.9</oid>
- </var-bind>
- <var-bind>
- <tag>a:trapCount</tag>
- <oid>1.2.3.4.5.6.7.6</oid>
- </var-bind>
- </var-bind-list>
- </mapping>
-
-
</notification-map-list>
More information about the jboss-cvs-commits
mailing list