Да, вы можете посмотреть на Servlex, в частности https://github.com/fgeorges/servlex/tree/master/servlex/src/java/org/expath/servlex/processors/saxon, а точнее CalabashXProc и CalabashPipeline.
На данный момент Servlex компилирует конвейер для каждого выполнения, поскольку в Calabash нет идеального разделения между временем компиляции и временем выполнения. Раньше Servlex кешировал результат компиляции и сбрасывал его после каждого использования, но если два запроса приходят одновременно, то они фактически используют одну и ту же среду динамической оценки, а значит, ну БУМ!
Норм работает над этим и добился определенного прогресса, но я думаю, что не мешало бы ему услышать ваш голос, если вам нужно иметь возможность кэшировать скомпилированные конвейеры и одновременно оценивать несколько экземпляров (написав в XProc Dev или в Calabash трекер проблем).
Если вы заинтересованы в Servlex, веб-сайт находится по адресу http://servlex.net/. Если вы хотите запускать конвейеры для ответа на HTTP-запросы, это, вероятно, хороший выбор, поскольку он уже содержит много шаблонного кода и позволяет вам писать свои конвейеры декларативным способом (URI запроса, на который он отвечает, объявляется в дескриптор веб-приложения, манипулирует HTTP-запросом и генерирует HTTP-ответ в виде XML-документов). Это реализация спецификации веб-приложений EXPath (ссылка на веб-сайте Servlex).
PS: Извините за отсутствие прямых ссылок, но StackOverflow не позволяет мне размещать более 2 ссылок (что я могу понять на самом деле...)
person
Florent Georges
schedule
29.04.2013