There's been some discussion on https://issues.apache.org/jira/browse/
GERONIMO-3586 and https://issues.apache.org/jira/browse/GERONIMO-3587
about how to deal with the jetty and tomcat jsr77 statistics. It
might be good to try to have such discussions on the dev list...
I talked with Viet about this on IRC for a while and have an idea to
suggest that might keep the container specific code in the containers
and allow management code to avoid needing any container specific
classes.
According to my IDEA project setup and Viet, the container specific
interfaces and implementations are only used inside the jetty and
tomcat containers to make it easier for the container to update the
statistics. They are not used in the monitoring plugin. IIUC the
problems start when you try to send e.g. a JettyWebConnectorStatsImpl
over the wire to a monitoring app, and the object can't be deserialized.
I suggest we have in geronimo-management a StatsImpl class similar to
the existing one but taking the name-statistic map in its constructor
and being immutable.
Then the jetty/tomcat specific stats classes won't implement Stats at
all but just the container specific method. Instead of extending
StatsImpl they will delegate to an instance they create in their
constructor.
The MEJB can return the delegate StatsImpl objects, thus avoiding any
need for any container specific classes, and the container specific
adapters can be in with the containers.
Comments?
thanks
david jencks