如何使用Apache tomcat设置fastCGI来运行C ++?

时间:2012-07-18 10:14:32

标签: tomcat fastcgi

我的Java应用程序与Apache Tomcat一起运行,jdbc用于DB。但是在某些db事务中,几乎没有要调用的dll。为此,我决定使用fastcgi。

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

2 个答案:

答案 0 :(得分:3)

JFastCgi是一个允许tomcat进行FastCGI调用的servlet。 但据我所知,它不支持Authorizer和Filter角色。 JFastCgi Sourceforge

答案 1 :(得分: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。