ror*_*oro 5 apache apache-modules
我看到很多关于如何使用 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 的传统处理模型之间存在一些冲突在 Unix 上。因此,mod_gcj 在一个独立的进程中运行,该进程是从 Apache 分叉出来的,并托管其多线程 libgcj 运行时。 ” - http://mod-gcj.sourceforge.net/about.html
归档时间: |
|
查看次数: |
1093 次 |
最近记录: |