2016-10-14 1 views
1

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

Возможно ли построить модуль Apache с использованием Java?

ответ

1

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

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

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

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