# javax.management.monitor

***

**1. Get Monitor's Thresholds**

```java
import javax.management.monitor.MonitorNotification;
import javax.management.monitor.StringMonitorMBean;

public class GetMonitorThresholds {
    public static void main(String[] args) {
        StringMonitorMBean monitor = new StringMonitorMBean();
        MonitorNotification notification = monitor.getMonitorValue();
        System.out.println("ThresholdHigh: " + notification.getThresholdHigh());
        System.out.println("ThresholdLow: " + notification.getThresholdLow());
    }
}
```

**2. Monitor String Attribute**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.StringMonitor;

public class MonitorStringAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        StringMonitor monitor = new StringMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Foo"));
        monitor.setObservedAttribute("Foo");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**3. Monitor Integer Attribute**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.IntegerMonitor;

public class MonitorIntegerAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        IntegerMonitor monitor = new IntegerMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Bar"));
        monitor.setObservedAttribute("Bar");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**4. Monitor List Attribute**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.ListMonitor;

public class MonitorListAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        ListMonitor monitor = new ListMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Names"));
        monitor.setObservedAttribute("Names");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**5. Monitor Threshold for String**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.StringMonitor;

public class MonitorStringThreshold {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        StringMonitor monitor = new StringMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Foo"));
        monitor.setObservedAttribute("Foo");
        monitor.setStringsToCompare(new String[] {"GREEN", "RED"});
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**6. Monitor Threshold for Integer**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.IntegerMonitor;

public class MonitorIntegerThreshold {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        IntegerMonitor monitor = new IntegerMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Bar"));
        monitor.setObservedAttribute("Bar");
        monitor.setGranularityPeriod(1);
        monitor.setObservedObject(objectName);
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**7. Monitor Threshold for List**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.ListMonitor;

public class MonitorListThreshold {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        ListMonitor monitor = new ListMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Names"));
        monitor.setObservedAttribute("Names");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**8. Get Monitored Attribute Value**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.MonitorNotification;
import javax.management.monitor.StringMonitor;

public class GetMonitoredAttributeValue {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        StringMonitor monitor = new StringMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Foo"));
        monitor.setObservedAttribute("Foo");
        connection.addNotificationListener(objectName, monitor, null, null);
        MonitorNotification notification = monitor.getMonitorValue();
        System.out.println("Monitored Value: " + notification.getMonitoredValue());
    }
}
```

**9. Set Monitored Attribute Value**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.MonitorNotification;
import javax.management.monitor.StringMonitor;

public class SetMonitoredAttributeValue {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        StringMonitor monitor = new StringMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Foo"));
        monitor.setObservedAttribute("Foo");
        connection.addNotificationListener(objectName, monitor, null, null);
        MonitorNotification notification = monitor.getMonitorValue();
        connection.setAttribute(objectName, new Attribute("Foo", "New Value"));
    }
}
```

**10. Trigger Threshold Notification**

```java
import javax.management.Attribute;
import javax.management.InstanceNotFoundException;
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.StringMonitor;

public class TriggerThresholdNotification {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        StringMonitor monitor = new StringMonitor();
        monitor.addObservedObject(objectName);
        monitor.setAttributeFilter(new Attribute("Foo"));
        monitor.setObservedAttribute("Foo");
        monitor.setStringsToCompare(new String[] {"GREEN", "RED"});
        connection.addNotificationListener(objectName, monitor, null, null);
        connection.setAttribute(objectName, new Attribute("Foo", "RED"));
    }
}
```

**11. Monitor File Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.FileMonitor;

public class MonitorFileAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        FileMonitor monitor = new FileMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("FileName");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**12. Monitor URL Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.URLMonitor;

public class MonitorURLAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        URLMonitor monitor = new URLMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("URL");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**13. Monitor Timer Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.TimerMonitor;

public class MonitorTimerAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        TimerMonitor monitor = new TimerMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("Time");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**14. Monitor Runtime Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.RuntimeMonitor;

public class MonitorRuntimeAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        RuntimeMonitor monitor = new RuntimeMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("Uptime");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**15. Monitor Thread Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.ThreadMonitor;

public class MonitorThreadAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        ThreadMonitor monitor = new ThreadMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("ThreadCount");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**16. Monitor Memory Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.MemoryMonitor;

public class MonitorMemoryAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        MemoryMonitor monitor = new MemoryMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("HeapMemoryUsage");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**17. Monitor Broadband Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.BroadbandConnectionMonitor;

public class MonitorBroadbandAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        BroadbandConnectionMonitor monitor = new BroadbandConnectionMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("ConnectionSpeed");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**18. Monitor Cpu Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.CpuResourceMonitor;

public class MonitorCpuAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        CpuResourceMonitor monitor = new CpuResourceMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("CpuLoad");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**19. Monitor Disk Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.DiskSpaceMonitor;

public class MonitorDiskAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        DiskSpaceMonitor monitor = new DiskSpaceMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("AvailableSpace");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**20. Monitor File System Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.FileSystemSpaceMonitor;

public class MonitorFileSystemAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        FileSystemSpaceMonitor monitor = new FileSystemSpaceMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("AvailableSpace");
        connection.addNotificationListener(objectName, monitor, null, null);
    }
}
```

**21. Monitor Network Attribute**

```java
import javax.management.MBeanServerConnection;
import javax.management.ObjectName;
import javax.management.monitor.NetworkMonitor;

public class MonitorNetworkAttribute {
    public static void main(String[] args) throws Exception {
        MBeanServerConnection connection = ...;
        ObjectName objectName = ...;
        NetworkMonitor monitor = new NetworkMonitor();
        monitor.addObservedObject(objectName);
        monitor.setObservedAttribute("PacketsSent");
        connection.addNotificationListener(objectName, monitor, null, null);

```
