使用java开发Apache模块

我看到很多关于如何使用perl,C构建Apache模块的示例,但是没有文档来描述如何使用
java构建Apache模块.

是否可以使用Java构建Apache模块?

最佳答案 这很少被实践,因为Apache经常产生多个进程(参见
preforked),并且在每个进程中运行Java虚拟机会将RAM需求扩展到高空.

您可以将Apache配置为仅使用单个进程(线程化).在这种模式下,这种安排更有意义.但像这样的Apache安装很少,而且介于两者之间.

无论如何,运行Java Apache模块与在任何其他C代码中使用Java没有太大区别.您可以围绕Apache函数编写基于JNI的包装器,以使它们可用于Java代码,再次在JNI的帮助下生成Java虚拟机. JNI是你的朋友.有很多关于它的文档,很多书.基本上,您需要知道如何使用C编写自己的Apache模块,并且需要了解JNI,并且可以使用Java构建Apache模块.

如果您正在寻找一个库来为您完成JNI,那么这就是Stackoverflow的主题.由于上述原因,大多数图书馆开发人员都不去那里.以下是一个这样的承诺的摘录:“mod_gcj的原始计划是将libgcj运行时直接嵌入到Apache进程中,就像mod_perl一样.不幸的是,传统的处理模型与使用线程的Java和使用分叉的Apache之间存在冲突.因此,mod_gcj在一个独立的进程中运行,该进程从Apache派生并托管其多线程libgcj运行时.“ – http://mod-gcj.sourceforge.net/about.html

点赞