Подключаемый модуль Service Fabric для разработки приложений Eclipse на Java
Eclipse является одной из наиболее часто используемых интегрированных сред разработки (IDE) для разработчиков Java. В этой статье описывается, как настроить среду разработки Eclipse для работы с Azure Service Fabric. Вы узнаете, как установить подключаемый модуль Service Fabric, создать приложение Service Fabric и развернуть его в локальном или удаленном кластере Service Fabric в Eclipse.
Примечание.
Подключаемый модуль Eclipse сейчас не поддерживается в Windows.
Внимание
Убедитесь, что JDK 8 установлен в системе и выбран в Eclipse.
Установка и обновление подключаемого модуля Service Fabric в Eclipse
Вы можете установить подключаемый модуль Service Fabric в Eclipse. Он позволяет упростить процесс создания и развертывания служб Java.
Внимание
Для подключаемого модуля Service Fabric требуется Eclipse Neon или более поздняя версия. Чтобы проверить версию Eclipse, выполните инструкции под этим примечанием. Если у вас установлена более ранняя версия Eclipse, скачайте более новые версии с сайта Eclipse. Не рекомендуется устанавливать Eclipse поверх существующей установки (перезаписывать). Вы можете удалить ее перед запуском установщика или установить новую версию в другом каталоге.
В Ubuntu мы рекомендуем установить Eclipse непосредственно с сайта, а не с помощью установщика пакета (apt
или apt-get
). Так вы получите последнюю версию Eclipse.
Установите Eclipse Neon или более поздней версии с сайта Eclipse. Также установите Buildship 2.2.1 или более поздней версии (подключаемый модуль Service Fabric не совместим с более ранними версиями Buildship):
- Чтобы проверить версии установленных компонентов, в Eclipse выберите Help (Справка)>About Eclipse (Сведения об Eclipse)>Installation Details (Сведения об установке).
- Сведения об обновлении Buildship см. на странице Eclipse Buildship. Подключаемые модули Eclipse для Gradle.
- Чтобы проверить и установить обновления для Eclipse, выберите Help>Check for Updates (Справка > Проверить обновления).
Установите подключаемый модуль Service Fabric. В Eclipse щелкните Help (Справка)>Install New Software (Установка нового программного обеспечения).
В поле Work with (Работа с) введите
https://servicefabricdownloads.blob.core.windows.net/eclipse/
.Нажмите кнопку Добавить.
Выберите подключаемый модуль Service Fabric и нажмите кнопку Next (Далее).
Выполните установку и примите условия лицензионного соглашения на использование программного обеспечения корпорации Майкрософт.
Если подключаемый модуль Service Fabric уже установлен, необходимо использовать последнюю версию.
- Чтобы проверить наличие доступных обновлений, выберите Help (Справка)>About Eclipse (Сведения об Eclipse)>Installation Details (Сведения об установке).
- В списке установленных подключаемых модулей выберите Service Fabric и щелкните Update (Обновить). После этого будут установлены доступные обновления.
- После обновления подключаемого модуля Service Fabric также обновите проект Gradle. Щелкните правой кнопкой мыши build.gradle и выберите Обновить.
Примечание.
Если установка или обновление подключаемого модуля Service Fabric выполняется медленно, это может быть связано с настройкой Eclipse. Eclipse собирает метаданные обо всех изменениях на сайтах обновления, зарегистрированных с помощью экземпляра Eclipse. Чтобы ускорить процесс проверки и установки обновления подключаемого модуля Service Fabric, щелкните Available Software Sites (Доступные сайты программного обеспечения). Снимите флажки напротив всех сайтов, которые не указывают на расположение подключаемого модуля Service Fabric (https://servicefabricdownloads.blob.core.windows.net/eclipse/).
Примечание.
Если Eclipse не работает должным образом на компьютере Mac или требуется запуск от имени суперпользователя, перейдите в папку ECLIPSE_INSTALLATION_PATH и откройте подпапку Eclipse.app/Contents/MacOS. Запустите Eclipse, выполнив команду ./eclipse
.
Создание приложения Service Fabric в Eclipse
В Eclipse выберите File>New>Other (Файл > Создать > Другое). Выберите Проект Service Fabric и нажмите кнопку Далее.
Введите имя проекта и нажмите кнопку Next (Далее).
В списке шаблонов выберите Service Template (Шаблон службы). Выберите тип шаблона службы (субъект, без отслеживания состояния, контейнер или гостевой двоичный файл) и нажмите кнопку Next (Далее).
Введите имя службы и сведения о ней, а затем нажмите кнопку Finish (Готово).
Если вы создаете первый проект Service Fabric, в диалоговом окне Open Associated Perspective (Открыть связанную перспективу) нажмите кнопку Yes (Да).
Новый проект выглядит следующим образом:
Создание приложения Service Fabric в Eclipse
Щелкните правой кнопкой мыши новое приложение Service Fabric, а затем выберите Service Fabric.
В контекстном меню выберите один из следующих вариантов:
- Чтобы выполнить сборку приложения без очистки, щелкните Build Application (Создать приложение).
- Для выполнения чистой сборки приложения щелкните Rebuild Application (Повторно создать приложение).
- Чтобы выполнить очистку приложения от артефактов сборки, щелкните Clean Application (Очистить приложение).
Развертывание приложения Service Fabric в локальный кластер с помощью Eclipse
После создания приложения Service Fabric выполните следующие действия, чтобы развернуть его в локальный кластер.
Если вы еще не запустили локальный кластер, следуйте инструкциям, описанным в разделе о настройке локального кластера, чтобы запустить его и проверить, что он работает.
Щелкните правой кнопкой мыши приложение Service Fabric, а затем выберите Service Fabric.
В контекстном меню выберите Deploy Application (Развернуть приложение).
Ход выполнения операции развертывания можно отслеживать в окне консоли.
Чтобы проверить, что приложение работает, откройте Service Fabric Explorer в локальном кластере в окне браузера
http://localhost:19080/Explorer
. Разверните узел приложений и проверьте, работает ли приложение.
Сведения об отладке приложения в Eclipse с помощью локального кластера см. в статье Отладка приложения Java Service Fabric с помощью Eclipse.
Вы также можете развернуть приложение в локальный кластер с помощью команды публикации приложения:
Щелкните правой кнопкой мыши приложение Service Fabric, а затем выберите Service Fabric.
В контекстном меню щелкните Publish Application... (Опубликовать приложение...).
В окне публикации приложения выберите PublishProfiles/Local.json как целевой профиль, а затем нажмите кнопку Publish (Опубликовать).
По умолчанию профиль публикации Local.json настроен для публикации в локальный кластер. Дополнительные сведения о параметрах подключения и конечной точки, присутствующих в профилях публикации, см. в следующем разделе.
Публикация приложения Service Fabric в Azure с помощью Eclipse
Чтобы опубликовать приложение в облако, сделайте следующее:
Чтобы опубликовать свое приложение в защищенный кластер в облаке, вам понадобится сертификат X.509 для обмена данными с кластером. В средах тестирования и разработки используемый сертификат часто является сертификатом кластера. В рабочих средах должен использоваться сертификат клиента, отличный от сертификата кластера. Вам нужен сертификат и закрытый ключ. Файл сертификата (и ключа) должен быть в формате PEM. Вы можете создать PEM-файл, содержащий сертификат и закрытый ключ, из PFX-файла с помощью следующей команды openssl:
openssl pkcs12 -in your-cert-file.pfx -out your-cert-file.pem -nodes -passin pass:your-pfx-password
Если PFX-файл не защищен паролем, используйте
--passin pass:
для последнего параметра.Откройте файл Cloud.json в каталоге PublishProfiles. Необходимо правильно настроить конечную точку кластера и учетные данные безопасности.
В поле
ConnectionIPOrURL
содержится IP-адрес или URL-адрес кластера. Обратите внимание, что значение не содержит схему URL-адреса (https://
).По умолчанию для поля
ConnectionPort
должно использоваться значение19080
, если только вы не изменили порт для кластера.Поле
ClientKey
должно указывать на файл в формате PEM — с расширениями .pem или .key на локальном компьютере, который содержит закрытый ключ для сертификата клиента или кластера.Поле
ClientCert
должно указывать на файл в формате PEM — с расширениями .pem или .crt на локальном компьютере, который содержит данные сертификата клиента или кластера.{ "ClusterConnectionParameters": { "ConnectionIPOrURL": "lnxxug0tlqm5.westus.cloudapp.azure.com", "ConnectionPort": "19080", "ClientKey": "[path_to_your_pem_file_on_local_machine]", "ClientCert": "[path_to_your_pem_file_on_local_machine]" } }
Щелкните правой кнопкой мыши приложение Service Fabric, а затем выберите Service Fabric.
В контекстном меню щелкните Publish Application... (Опубликовать приложение...).
В окне публикации приложения выберите PublishProfiles/Cloud.json как целевой профиль, а затем нажмите кнопку Publish (Опубликовать).
Ход выполнения операции публикации можно отслеживать в окне консоли.
Чтобы проверить, что приложение работает, откройте Service Fabric Explorer в кластере Azure в окне браузера. В примере выше это будет выглядеть примерно так:
https://lnxxug0tlqm5.westus.cloudapp.azure.com:19080/Explorer
. Разверните узел приложений и проверьте, работает ли приложение.
В защищенных кластерах Linux, если ваше приложение содержит службы Reliable Services, вам также потребуется настроить сертификат, который ваши службы могут использовать для вызова API-интерфейсов среды выполнения Service Fabric. Дополнительные сведения см. в разделе Настройка приложения Reliable Services для запуска на кластерах Linux.
Сведения о том, как быстро развернуть написанное на Java приложение Reliable Services в Service Fabric в защищенный кластер Linux, см. в этом кратком руководстве.
Развертывание приложения Service Fabric с помощью конфигураций запуска Eclipse
Альтернативным способом развертывания приложения Service Fabric является использование конфигураций запуска Eclipse.
В Eclipse выберите Run>Run Configurations (Запуск > Конфигурации запуска).
Выберите конфигурацию запуска ServiceFabricDeployer в разделе Grade Project (Проект Gradle).
В правой области на вкладке Arguments (Аргументы) проверьте, чтобы параметры ip, port, clientCert и clientKey были соответствующим образом настроены для развертывания. По умолчанию параметры заданы для развертывания в локальный кластер, как показано на следующем снимке экрана. Для публикации своего приложения в Azure вы можете изменить параметры, чтобы они содержали сведения о конечной точке и учетные данные безопасности для кластера Azure. Дополнительные сведения см. в разделе выше, посвященном публикации приложения Service Fabric в Azure с помощью Eclipse.
Рабочая папка должна указывать на приложение, которое необходимо развернуть. Чтобы изменить приложение, нажмите кнопку Workspace (Рабочая область) и выберите нужное приложение.
Щелкните Apply (Применить), а затем — Run (Запуск).
Приложение будет собрано и развернуто через несколько секунд. Состояние развертывания можно отслеживать в Service Fabric Explorer.
Добавление службы Service Fabric в приложение Service Fabric
Чтобы добавить службу Service Fabric в имеющееся приложение Service Fabric, сделайте следующее:
Щелкните правой кнопкой мыши проект, в который нужно добавить службу, и выберите Service Fabric.
Щелкните Add Service Fabric Service (Добавить службу Service Fabric) и выполните действия для добавления службы в проект.
Выберите шаблон службы и нажмите кнопку Next (Далее).
Введите имя службы (и другие сведения при необходимости), а затем нажмите кнопку Add Service (Добавить службу).
После добавления службы общая структура проекта будет аналогична приведенной ниже.
Изменение версий манифеста приложения Service Fabric на Java
Чтобы изменить версии манифеста, щелкните проект правой кнопкой мыши, щелкните пункт Service Fabric, а затем в раскрывающемся меню выберите Изменить версии манифеста... В мастере можно обновить версии манифеста приложения, служб и версии пакетов кода, конфигурации и данных.
Если вы установите флажок Автоматическое обновление версий приложения и службы, а затем обновите версию, то версии манифестов обновятся автоматически. Например, если вы сначала установите флажок, а затем обновите версию кода с 0.0.0 до 0.0.1, а затем щелкните Готово, то версия манифеста служб и манифеста приложения будет автоматически обновлена до 0.0.1.
Обновление приложения Service Fabric на Java
Чтобы рассмотреть сценарий обновления, предположим, вы создали проект App1 с помощью подключаемого модуля Service Fabric в Eclipse. Он был развернут с помощью подключаемого модуля для создания приложения с именем fabric:/App1Application. Тип приложения — App1ApplicationType, а версия приложения — 1.0. Теперь необходимо обновить приложение, не прерывая доступ к нему.
Сначала внесите изменения в приложение, а затем выполните повторную сборку службы в измененном виде. Замените файл манифеста измененной службы (ServiceManifest.xml) обновленной версией для этой службы (а также все необходимые файлы из каталогов Code, Config и Data). Замените также манифест приложения (ApplicationManifest.xml) обновленной версией для приложения и измененной службы.
Чтобы обновить приложение с помощью Eclipse, можно создать дубликат профиля конфигурации запуска. Затем вы сможете использовать его для обновления приложения.
- Выберите Run>Run Configurations (Запуск > Конфигурации запуска). Щелкните небольшую стрелку слева от Gradle Project (Проект Gradle) в области слева.
- Щелкните правой кнопкой мыши ServiceFabricDeployer и выберите Duplicate (Дублировать). Введите новое имя для этой конфигурации, например ServiceFabricUpgrader.
- На панели справа на вкладке Arguments (Аргументы) измените -Pconfig='deploy' на -Pconfig='upgrade', а затем нажмите кнопку Apply (Применить).
Это действие позволяет создать и сохранить профиль конфигурации запуска, который можно использовать для обновления приложения в любое время. При этом вы также получаете последнюю обновленную версию типа приложения из файла манифеста приложения.
Обновление приложения занимает несколько минут. Его можно отслеживать в Service Fabric Explorer.
Перенос устаревших приложений Java из Service Fabric для использования с Maven
Мы недавно переместили библиотеки Java для Service Fabric из пакета SDK для Java Service Fabric в репозиторий Maven. В новых приложениях, созданных с помощью Eclipse, создаются последние обновленные проекты (что позволяет работать с Maven). Но вы можете обновить существующие приложения Service Fabric без учета состояния или Java Reliable Actor, в которых ранее применялся пакет SDK для Service Fabric Java, чтобы использовать зависимости Java для Service Fabric из Maven. Выполните инструкции, чтобы устаревшие приложения могли взаимодействовать с Maven.
Следующие шаги
- Ознакомьтесь со статьей Краткое руководство. Развертывание приложения надежных служб Java в Service Fabric, чтобы узнать о том, как быстро создать приложение Reliable Services на Java и развернуть его локально в Azure.
- Сведения об отладке приложения Java в локальном кластере см. в статье Отладка приложения Java Service Fabric с помощью Eclipse.
- Сведения о мониторинге и диагностике приложений Service Fabric см. в статье Мониторинг и диагностика состояния служб в локальной среде разработки.