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




Reply via email to