Разработка модуля Apache с использованием Java

Я вижу много примеров того, как построить модуль Apache, используя perl, C, но нет документации, описывающей, как построить модуль Apache, используя java.

Можно ли построить модуль Apache, используя Java?

1 ответ

Это редко практикуется, потому что Apache часто порождает несколько процессов (см. Preforked), и запуск виртуальной машины Java в каждом из них приводит к повышению требований к ОЗУ.

Вы можете настроить Apache для использования только одного процесса с резьбой. В этом режиме расположение имеет больше смысла. Но установки Apache, подобные этой, немногочисленны.

В любом случае, запуск модуля Java Apache не сильно отличается от использования Java в любом другом C-коде. Вы пишете оболочку на основе JNI для функций Apache, чтобы сделать их доступными для кода Java, вы порождаете виртуальную машину Java снова с помощью JNI. JNI твой друг. Об этом много документации, много книг. По сути, вам нужно знать, как написать свой собственный модуль Apache на C, и вам нужно знать JNI и вуаля, вы можете построить модуль Apache на Java.

Если вы ищете библиотеку для JNI-подъема, это не относится к Stackru. И большинство разработчиков библиотек не идут туда в любом случае по причинам, изложенным выше. Вот выдержка из одного такого начинания: "Первоначальный план для mod_gcj заключался в том, чтобы встраивать среду выполнения libgcj непосредственно в процессы Apache, во многом как в mod_perl. К сожалению, между традиционными моделями обработки с Java, использующими многопоточность, и Apache, использующим разветвление, было некоторое столкновение в Unix. В результате этого mod_gcj запускается в отдельном процессе, который разветвляется из Apache и содержит многопоточную среду выполнения libgcj."- http://mod-gcj.sourceforge.net/about.html

Другие вопросы по тегам