> > > amyroh 02/02/13 23:47:14 > > > > > > Modified: catalina/src/share/org/apache/catalina/mbeans > > > MBeanUtils.java mbeans-descriptors.xml > > > Log: > > > Add additional Catalina components MBeans. > > > > > if (managed == null) { > > > - //Exception e = new Exception("ManagedBean is not found > > with "+mname); > > > - //throw new MBeanException(e); > > > - return null; > > > + Exception e = new Exception("ManagedBean is not found with > > "+mname); > > > + throw new MBeanException(e); > > > > As I said before, I think it's a very bad idea to do this, and would > > restrict the audience of the admin webapp to the beginner users of Tomcat > > (since you get the choice between using the webapp *or* taking advantage of > > the modularity of Catalina). > > > > At the moment, the other alternative (just skip the components you don't > know how to create an MBean for) is even worse: > * Tomcat starts up, the custom components are created, > but no MBeans for the custom components > * Admin app shows only the "known" components, thus mystifying the user > * User makes a change, via the admin app, to a standard component > * (When supported) Admin app rewrites server.xml to save the change > * The unrecognized custom entry disappears from server.xml :-(. > > There will certainly need to be a way to deal with extensibility (i.e. > user defined Valves, Realms, and so on). But we need to start from the > assumption that the admin app must faithfully reproduce *all* of the > contents of the server.xml file when it supports persistence. Silently > ignoring things you don't know about doesn't help achieve that goal.
I agree that it makes the task more complex, but I think that choice makes the admin webapp a "fancy feature", rather than a truly useful feature. For example, if you write somthing as simple as a custom realm (or extend one of the base ones) and add it to your server.xml, the admin webapp won't work anymore (and you'll get some nasty stack trace printed out on your command line when you start Catalina). IMO, the pluggability feature should be developped first, rather than later. Remy -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>