aaime74 wrote:
...
Hi.
Kind of restarting from the beginning, I think that the first question to ask is whether whatever method which actually does the rendering of the maps, and which is "heavy" in terms of resources, is capable of being interrupted cleanly in the middle. Is it capable itself of checking regularly if it should continue doing the work ? Or else, if you "shoot it down" does it mop up after itself, or does it leave stuff to clean up all over the place ?

From an overall design point of view, it seem to me that you have two very different types of processes going on : the first type is the management of the HTTP requests, connections, protocol, etc.., which is something that should be efficient, light-weight and quick, should detect (whenever possible) that the client has broken the connection and so on. That part should also serve the response to the client, when the full response is ready as a static object on disk e.g. The second part is the generation of that content, which by it's nature is slow and heavy, but has a very simple interface ("create this content"; "stop right now"; ..).

Personally, I would tend to try to separate the two parts, and create a separate process to handle the content generation, a bit like a database back-end. It seems to me that it would then be easier to "wrap" this process in a simple management wrapper which can interrupt the content generation when receiving some signal from the first part, and cleanup properly, without tying up resources useful to the HTTP part in the meantime. Such a separation may also simplify aspects such as caching of previously generated content, or load-balancing several content generators.

Maybe you should have a look at Apache MINA for the content-generation side ? (http://mina.apache.org/)

The "(whenever possible)" above refers to the fact that a number of things outside of your control can come in the way of such detection : proxies, firewalls and the like. If the ultimate client breaks the connection, it is not guaranteed that Tomcat itself would notice this right away.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to