Java портлеты блокируют друг друга от рендеринга? - PullRequest
0 голосов
/ 30 декабря 2018

В значительной степени то, что говорит название.Могут ли портлеты Java отображаться асинхронно, как только они будут готовы, или страница должна ждать загрузки каждого портлета, прежде чем может произойти первый вывод?Я просмотрел спецификацию, но пока не нашел ничего конкретного.

1 Ответ

0 голосов
/ 04 января 2019

Насколько я прочитал спецификацию (JSR-286, поскольку вы не упомянули конкретную версию), нет ничего, что требовало бы последовательного или параллельного рендеринга.Он просто указывает , который отображает портлеты.Вы просто не можете предположить, что вы все еще используете тот же обработчик HttpServletRequest, что и любой другой портлет.

Мало того, что он не указан, но даже в одной реализации он может отличаться.Я протестировал его с более старыми версиями Liferay, где у вас были оба варианта портлета: платформа прозрачно заменяет содержимое портлета динамическим заполнителем, выполняя Ajax-запрос для получения вывода обработанного портлета.Рассматриваемые моделируемые портлеты просто содержали Thread.sleep(2000) в своем методе рендеринга.

Хотя спецификация асинхронного рендеринга отсутствует в JSR-286, в Liferay это единственное значение конфигурации, не влияющее на реализацию, таким образом, какПлатформа может быть независимой от поставщика.Если вы выберете любую из более новых реализаций, например, рендеринг довольно статического кода, который в любом случае динамически извлекает свой контент (через запросы ресурсов или из веб-сервисов): это полностью работает поверх спецификации портлета, что легко возможно.Запросы на ресурсы стандартизированы, веб-сервисы не зависят от портала.

Начиная с новейшей спецификации JSR-362 Portlet-3.0: есть определенные дополнения для рендеринга на основе JS, а также стандартизированная сторона JS.Я пока не могу вам много рассказать об этом (пока), но, поскольку вы не упомянули об этом стандарте в явном виде, вы, возможно, об этом не помните (пока).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...