2012-07-18 26 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