Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re: Tomcat, CGI scripts and DBI connection persistence

by Perlbotics (Chancellor)
on Oct 29, 2011 at 20:06 UTC ( #934642=note: print w/replies, xml ) Need Help??

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?


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://934642]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (3)
As of 2018-04-21 03:06 GMT
Find Nodes?
    Voting Booth?