Статьи

JAX-RS 2.0 и Джерси 2.0 выпущены!

Я очень рад сообщить, что после двух с лишним лет разработки прототипов, рефакторинга и разработки мы выпустили финальную версию  API JAX-RS 2.0  и  Jersey 2.0,  которая предоставляет базовую реализацию для JAX-RS 2.0.

Те из вас, кто следил за моими более ранними обновлениями, знают, что Jersey 2.0 подвергся серьезному рефакторингу для внесения значительных изменений, внесенных JAX-RS 2.0, таких как  клиентский APIфильтры и перехватчики  или  асинхронная поддержка на стороне сервера . Мы также решили перейти на  git нашу основную VCS, что позволило нам перенести репозиторий проекта на  GitHub . Мы надеемся, что этот шаг облегчит нашему сообществу просмотр кода и внесение вклада в проект с помощью удобных  запросов извлечения .

Для полного обзора API Jersey 2.0, пожалуйста, ознакомьтесь с  документацией API Jersey 2.0 . Вы также можете добавить в закладки   постоянную ссылку на последнюю версию API API Jersey 2.x, если хотите увидеть самую последнюю выпущенную версию API в будущем. Также не стесняйтесь просматривать  исходный код Jersey 2  на GitHub и ознакомиться с  примерами Jersey . Вы также можете проверить  руководство пользователя Jersey 2.0 . С таким большим количеством изменений мы добавили специальный раздел по  переносу вашего кода Jersey 1.x в Jersey 2.0,  который мы продолжим обновлять на основе вопросов, которые мы получаем на нашем форуме пользователей.

Jersey 2.0 обеспечивает поддержку HTTP-сервера Java SE, HTTP-сервера Grizzly 2, контейнеров Servlet 2.5 или выше, а также контейнеров OSGi на стороне сервера и  HTTPURLConnectionасинхронных транспортных коннекторов на основе или Grizzly. Чтобы использовать асинхронные функции JAX-RS / Jersey на стороне сервера в контейнере Servlet, вам нужен контейнер, который поддерживает Servlet 3.0 как минимум. Jersey также поддерживает асинхронные вызовы ресурсов на HTTP-сервере Grizzly 2.

Если вас интересует более подробная информация о работе, проделанной в рамках выпуска Jersey 2.0, ознакомьтесь с  примечаниями к выпуску Jersey 2.0 .

Все двоичные файлы выпуска Jersey 2.0, включая jar-файлы source и apidocs, доступны для загрузки по идентификатору корневой группы maven Jersey 2.0  org.glassfish.jersey из  центрального хранилища maven,  а также из  хранилища java.net maven .

Начнем с Jersey 2.0, так как загрузка  пакета JIX-RS 2.0 RI Jersey  является хорошим началом, так как в комплект входит JAX-RS 2.0 API jar, все основные jers-модули jer, а также все необходимые сторонние зависимости. Возможно, вы также захотите скачать пакет Джерси 2.0 Примеры  для автономного просмотра.

Скорее всего, вы используете Apache Maven в качестве инструмента управления сборкой и зависимостями для своего проекта. Если вы это сделаете, есть очень простой и удобный способ начать играть с Jersey 2.0, сгенерировав приложение-скелет из одного из предоставляемых нами архетипов Jersey 2.0. Например, чтобы создать приложение Jersey 2.0 с использованием контейнера HTTP-сервера Grizzly 2, используйте

mvn archetype:generate -DarchetypeGroupId=org.glassfish.jersey.archetypes -DarchetypeArtifactId=jersey-quickstart-grizzly2 -DarchetypeVersion=2.0

Если вы хотите создать развертываемое веб-приложение Jersey 2.0 контейнера Servlet, используйте

mvn archetype:generate -DarchetypeGroupId=org.glassfish.jersey.archetypes -DarchetypeArtifactId=jersey-quickstart-webapp -DarchetypeVersion=2.0

Получайте удовольствие, просматривая примеры, тестируя новые дополнения к набору функций и играя с Jersey 2. Чтобы оставить отзыв, отправьте нам письмо по электронной почте в список рассылки наших пользователей.

use...@jersey.java.net (заархивировано  здесь )

или регистрируйте обнаруженные ошибки и новые запросы функций в системе  отслеживания проблем Джерси Джира .

Как многие из вас, вероятно, заметили, также была выпущена платформа Java EE 7   . JAX-RS 2.0 включен в этот выпуск корпоративной платформы Java и, следовательно, Jersey 2.0 включен в Java EE 7 RI, предоставляемый  GlassFish 4.0 . Это означает, что вы можете развернуть свои приложения JAX-RS 2.0 на GlassFish 4.0, не беспокоясь о зависимостях Jersey 2.0.

Важное замечание о Джерси 2.0 в GlassFish 4.0!

К сожалению, если вы играете с выпуском GlassFish 4.0 (сборка 4.0-b89), есть задача, которую вы, возможно, захотите выполнить, чтобы установить выпущенную версию Jersey 2.0 в свой экземпляр GlassFish. Версия Jersey 2.0 в комплекте с выпущенным GlassFish 4.0 (4.0-b89) и Java EE 7 SDK не содержит исправлений для  проблем с инъекциями, которые могут возникнутькогда CDI, JAX-RS и другие технологии с поддержкой инъекций (например, BeanValidation) используются вместе в одном проекте. Хотя проблема была исправлена ​​в выпущенных двоичных файлах Jersey 2.0, эти фиксированные двоичные файлы не были выбраны в окончательной сборке GlassFish 4.0 из-за некоторых проблем со устаревшим кэшем репозитория maven. Поскольку мы узнали об этой проблеме только за день до выпуска GlassFish 4.0 и Java EE 7, было невозможно повторить сборку и полностью протестировать ее для выпуска. Команда GlassFish сообщила мне, что в ближайшее время они планируют выпустить новую сборку, которая должна содержать окончательную версию Джерси, а также исправления для критических проблем, о которых сообщило сообщество.

К счастью, GlassFish поставляется с функцией инструмента обновления. Таким образом, до выпуска новой сборки GlassFish, чтобы исправить проблему с устаревшими модулями Jersey 2.0, используйте инструмент обновления для обновления вашей установки GlassFish до выпущенной версии Jersey 2.0, выполнив следующие действия (спасибо  Jakub  за их предоставление):

  1. После разархивирования / установки GlassFish 4.0 перейдите в корневой каталог установки GlassFish и запустите следующую команду из командной строки:
    ./bin/updatetool

    Вы должны увидеть следующий вывод:

    The software needed for this command (updatetool) is not installed.
    
    If you choose to install Update Tool, your system will be automatically
    configured to periodically check for software updates. If you would like
    to configure the tool to not check for updates, you can override the
    default behavior via the tool's Preferences facility.
    
    When this tool interacts with package repositories, some system information
    such as your system's IP address and operating system type and version
    is sent to the repository server. For more information please see:
    
    http://wikis.oracle.com/display/updatecenter/UsageMetricsUC2
    
    Once installation is complete you may re-run this command.
    
    Would you like to install Update Tool now (y/n):
  2. Введите  y (да), чтобы установить программное обеспечение Update Tool. Вы увидите следующую информацию (или аналогичную):
    Proxy: Using system proxy settings.
    Install image: <path_to_your_glassfish_installation>/glassfish/4.0
    Installing pkg packages.
    Downloading 2 packages.
    Downloading pkg (510 files, 6,905,269 bytes).
    File 510/510
    Downloading python2.4-minimal (301 files, 8,608,973 bytes).
    File 301/301
    Executing 929 install actions.
    Installing updatetool packages.
    Downloading 2 packages.
    Downloading updatetool (571 files, 4,393,462 bytes).
    File 571/571
    Downloading wxpython2.8-minimal (298 files, 46,961,258 bytes).
    File 298/298
    Executing 1,030 install actions.
    Registering notifier: Successful.
    Starting notifier.
    Initialization complete.
    
    Software successfully installed. You may now re-run this command (updatetool).
  3. После завершения установки ./bin/updatetool снова запустите  команду — появится окно инструмента обновления GlassFish.
  4. Нажмите «Доступные обновления» под изображением приложения «GlassFish» на левой панели, чтобы убедиться, что доступна более новая версия Jersey 2.0:Обновление GlassFish 4.0 до Джерси 2.0
  5. Затем нажмите на большую зеленую стрелку на панели инструментов или щелкните правой кнопкой мыши элемент Джерси в списке и выберите «Установить отмеченные компоненты». После принятия лицензионного соглашения средство обновления GlassFish автоматически обновит версию Jersey в вашей установке GlassFish 4.0 до правильной выпущенной версии Jersey 2.0. После обновления вы увидите «Jersey 2 Core, …» с новой версией «2.0-0.2» в разделе «Установленные компоненты»:GlassFish 4.0 обновлен до Джерси 2.0
  6. наслаждаться :)

Обратите внимание, что вы можете использовать описанный выше процесс в будущем для обновления вашей установки GlassFish 4.0 с более новыми версиями Jersey 2.