Updated the class with better formatting, added javadocs, updated old
javadocs, removed warnings, etc.
Signed-off-by: Simone Bordet <simone.bordet@gmail.com>
Now MBeanContainer keeps track of the parent/child component relationship.
MBeans are registered for a pair (parent, child) and unregistered only
for the same pair.
For example, Server owns a ThreadPool and a Connector; in turn the
Connector adds the Server ThreadPool as an unmanaged component to itself.
The ThreadPool is registered as MBean with the pair (Server, ThreadPool).
When the Connector is stopped and removed from the component tree,
MBeanContainer sees a removal event for the pair (ServerConnector, ThreadPool).
But since that pair was not the one that triggered the registration of
the MBean, the MBean is not unregistered.
Changed the semantic of null or empty address to refer to the local host.
Any address is specified with 0.0.0.0.
Commented out JmxIT tests as they are broken.
The Loader has been simplified to now just be a switch between loading from the context loader,
the same loader as another class or the system loader. Multiple loaders will never be tried.
A new runWithServerClassAccess(PriviledgedAction) method has been added to WebAppClassLoader, that
is now used during configuration for actions that need access to both the WEB-INF/lib classes and
the server classes (eg jetty-web.xml and env.xml).
The JMX MBean mechanism has also been modified to look for an MBean class in the same loader that
object came from before attempting the context loader (only if different).
+ Adding [version] section to all existing jetty 9.3 distro modules
+ Updating testcases in jetty-start with new [version] sections too
+ Adding extra testcases for versioned modules
+ Marking org.eclipse.jetty.util.annotation. for hole punching
+ Making ContextHandler parsing of "org.eclipse.jetty.server.context.ManagedAttributes"
more lenient to whitespace around delimitors
+ Making ObjectMBean take in account the .jmx.{name}MBean for
annotation influences too.