2012-07-18 93 views
0

我有我的Java应用程序与Apache Tomcat一起运行,jdbc用于数据库。但是在一些db事务中,很少有要调用的dll。为此,我决定使用fastcgi。如何使用Apache tomcat设置fastCGI来运行C++?

所以现在我有一个调用dll的C++程序。 FastCGI和Apache Tomcat应该能够在Windows机器上运行这个C++程序?如何才能做到这一点?我无法在Google上获得针对此特定fastCGI + Tomcat Apache + C++ + windows安装程序组合的任何指示。请帮忙!

回答

1

Apache Tomcat是一个Java应用程序服务器。它的范围有意限制。由于某种原因,它支持CGI;但它不支持FastCGI。这就是为什么你没有找到任何指针:这是不可能的使用Tomcat作为分布式。

你可以尝试以下方法之一:

  • 你的FastCGI包装转换成一个普通的可执行文件,并调用从Java的;
  • 使用SWIG将您的C++库封装到Java本机(JNI)包装器中,该包装器允许您将它直接加载到Java应用程序中并调用它,但这对Tomcat来说很棘手,因为它不允许Web应用程序加载本地库,除非由管理员在Tomcat的公共库目录中安装;
  • 修改您的Java Web应用程序以实现FastCGI网络协议与承载您的DLL的FastCGI进程通信;
  • 在Tomcat前面运行另一个支持Tomcat(AJP)和FastCGI转发的服务器,例如Apache httpd,lighttpd或nginx。
3

JFastCgi是一个允许tomcat进行FastCGI调用的servlet。 但据我所知,它并不支持授权者和过滤角色。 JFastCgi Sourceforge