http://www.perlmonks.org?node_id=934642


in reply to Tomcat, CGI scripts and DBI connection persistence

FCGI could solve your problem with the persistent DB connection, however AFAIK Tomcat does not support FCGI out of the box. Though there seems to be a working JFastCGI servlet... (never tried it myself).

Another idea would be to emulate FCGI by creating a daemon that implements your service and interfaces with a stub CGI script, e.g. by means of (domain-)sockets? Thus, the daemon maintains a permanent connection to the DB and handles request forwarded from the CGI stub.

client <-(HTTP)-> Tomcat <-(CGI)-> CGI-stub <-(IPC)-> Daemon <-DBI +-> DB
Very awkward and probably not much faster than simply re-connecting to the DB... Maybe it's easier to stay with Tomcat and write a servlet (Java) or stay with the Perl (F)CGI script and use a Perl based HTTP server (e.g. Starman, Twiggy, HTTP::Server::*)? Perhaps you can have two servers running (Tomcat and Perl-HTTP-server) and edit the CGI URIs, so CGI calls get routed to the Perl HTTP server?

Very awkward again... I would negotiate with customer or boss again to get rid of this artificial limitation. Why spend time and energy circumventing a problem that could be solved better the traditional way?

HTH