On 15/12/2011 00:15, hernan wrote: > On Wed, Dec 14, 2011 at 8:17 PM, Christopher Schultz < > ch...@christopherschultz.net> wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> Hernán, >> >> On 12/14/11 5:45 PM, hernan wrote: >>> I'm using Tomcat 7.0 for developing a new application. A key >>> component in the application have to run an external not >>> multithreaded application. >>> >>> Since I'm not an experienced user in Tomcat, I wonder which >>> implementation alternatives do you recommend for running my >>> external application. I'm trying to avoid launch a new os process >>> from java since I need the result of that process, so in this way >>> I've to deal communicating two processes (may be using serializable >>> objects using sockets). >> >> So, is this other program a Java program? Since you said >> "serializable" you probably are talking about running another Java >> "program". >> >> What makes this "external" "program" non-multithreaded? Is it actually >> not threadsafe? >> >> If you can't run it in the same process as Tomcat, then you'll have to >> either use Runtime.exec or some type of wrapper around it -- or have >> that process running completely separately (as a daemon) and connect >> to it via sockets. Anything else requires native code, which you >> definitely don't want. > > > My external application is a java application that uses java wrapper (using > JNI) for GLPK (written in ANSI C) (http://www.gnu.org/s/glpk/), and GLPK is > not threadsafe. Yes, I will consider those alternatives, executing a new > process when I receive the request (Runtime.exec) and a separated deamon > receiving requests launching those processes.
Can you not import the application Jars and just interact with them directly then? Why do you have to interact with it via system process? >>> I want to know which kind of approachs are used to deal with these >>> type of situations. >> >> What about running in-process? Even if the class(es) is(are) not >> threadsafe, you might be able to use separate instances from your >> request processor threads. +1, see above. > Can I configure tomcat for running a new (or different) process for each > request? "configure"? Not really, you can write a Servlet to do that, if you wanted to. (I wouldn't think that's a good idea, myself). > or I have to run Apache HTTP Server and connect it to Tomcat? Why? How does that help? > If I have to run Apache HTTP Server which mechanism do I have to connect it > with > tomcat? using Jk connector is the standard way? mod_jk, or mod_proxy_http or mod_proxy_ajp. > Do you recommend me to read > http://tomcat.apache.org/connectors-doc/reference/apache.html ? I've found > also http://tomcat.apache.org/connectors-doc/reference/apache.html but it > seems to be outdated. How is that related to your problem? p > Thanks for your response! > > Regards, > Hernán > -- [key:62590808]
signature.asc
Description: OpenPGP digital signature