gpt4 book ai didi

apache - 使用 java 开发 Apache 模块

转载 作者:行者123 更新时间:2023-12-02 03:47:35 24 4
gpt4 key购买 nike

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

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

最佳答案

这很少被实践,因为 Apache 经常产生多个进程(参见 preforked )并且在每个进程中运行 Java 虚拟机会使 RAM 需求膨胀到很高的程度。

可以将 Apache 配置为仅使用单个进程(线程)。在这种模式下,这种安排更有意义。但像这样的 Apache 安装却很少。

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

如果您正在寻找一个库来为您执行 JNI 提升,那么这不是 Stackoverflow 上的主题。由于上述原因,大多数库开发人员无论如何都不会去那里。以下是一项此类工作的摘录:“mod_gcj 的原始计划是将 libgcj 运行时直接嵌入到 Apache 进程中,就像 mod_perl 所做的那样。不幸的是,使用线程和 Java 的传统处理模型之间存在一些冲突。 Apache 在 Unix 上使用 fork 。因此,mod_gcj 在一个单独的进程中运行,该进程是从 Apache fork 出来的,并托管其多线程 libgcj 运行时。” - http://mod-gcj.sourceforge.net/about.html

关于apache - 使用 java 开发 Apache 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40037265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com