Class MonitorImpl

  • All Implemented Interfaces:
    Monitor, MonitorMXBean

    class MonitorImpl
    extends java.lang.Object
    implements Monitor, MonitorMXBean
    Process that reads from the monitor stream and updates counters.

    Internally, uses a dedicated thread to process events. Events received from log4j are placed on a queue. This "Active object" or "Actor" pattern means that the data structures that hold counters do not need to be locked.

    Command requests are treated like events. They place their result on a result queue.

    A visitor quickly dispatches events and commands to the appropriate handler method.

    The monitored objects form a hierarchy. For each object type, there is a mutable workspace (whose members are private and non-final) that is converted into a monitor object (whose members are public and final) when its fix() method is called: