AFAIK the J2EE spec doesn't say anything about being able to put your own MBean into a server. However, an MBean container for just this purpose sounds like an excellent idea.
There are rumors of a user loadable JMX services JSR forming.
Cunning. However, I think that the ApacheJ2EE server should eventually use a micro-kernel, of which one of the containers is a MBean container, rather than necessarily the ApacheJ2EE server being an MBean container.
Note that I don't believe the server itself needs to be an MBean container (in much the same way that the whole isn't a web container or ejb container) but it seems reasonable to assume that at some future point the J2EE spec may create the concept of an MBean container.
I agree that the standard component model (the component model is not the server) does not have to be JMX, but it seems like an extreme waste of effort to create a shadow JMX object for every component in the server, when we can just have them be JMX components.
There's no reason they can't be both, but generate the JMX interfaces automatically and/or dynamically rather than having to have the user code them.
The danger with using too much JMX is that when components start talking to each other using JMX, then it's very difficult to undo at a later stage.
Alex.