Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Tomcat, CGI scripts and DBI connection persistence

by Perlbotics (Abbot)
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?

HTH


Comment on Re: Tomcat, CGI scripts and DBI connection persistence
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://934642]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (7)
As of 2014-12-25 12:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (160 votes), past polls