Как запустить glassfish windows

Обновлено: 05.07.2024

Данная инструкция содержит последовательное описание процесса первоначальной установки и оптимальной настройки XWiki Enterprise в варианте под Windows + GlassFish + OracleXE.

Инструкция делалась "под себя" - для обеспечения простой возможности повторить быстрое развертывание системы (в т.ч. другими администраторами). Инструкция составлена не по принципу "если - то" (как например, составлены инструкции по инсталляции на xwiki.org), а более жестко - "делать так" - поэтому многие вещи указываются без подробных объяснений, почему именно так.

Имеется старая версия данной инструкции , которая начинала писаться еще когда XWiki была версией 2.0 или 2.1 и под Jetty, потом туда добавился GlassFish. Но все равно там осталось много не используемого сейчас. Новый вариант инструкции писался под версию XWiki - 2.7, 3.0.

Из нового варианта инструкции убрано много лишнего, в 1-ую очередь - все что касается Jetty. Изначально я пытался развертывать XWiki в варианте Windows + Jetty + OracleXE, но потом понял, что Jetty не годится для рабочей эксплуатации. Из принципиальных минусов - зависания сервиса и медленная скорость работы с аттачами.

Потом стал искать что-то вместо Jetty - и остановился на GlassFish. Понравилось - web-интерфейс настройки, то что не надо так сильно тюннить его как Jetty, ну и конечно скорость - файлы аттачились почти со скоростью, как если бы они копировались в локалке (jetty раз в 10 хуже)!

Новый вариант инструкции пока не полный. Еще будут добавляться разделы касаемо настройки LDAP, настройки соединения со сторонней базой Oracle и пр. Также планируется перевод на английский и румынский языки.

ПО, необходимое для загрузки

  • XWiki Enterprise:
    • берем war-файл - собственно само приложение,
    • и также xar-файл - содержит начальные настройки и базовые страницы wiki.
    • Java Development Kit (JDK) - необходимо для работы сервера приложений.
    • Glassfish Application Server - сервер приложений.
    • Oracle JDBC Drivers - оптимальный выбор ojdbc5.jar от Oracle 11G.
    • Для работы приложения "импорт офисных документов" требуется:
      • OpenOffice - офисный пакет, используемый для конвертации.
      • windows server 2003 resource kit - позволяет создать сервис.
      • В случае, если СУБД Oracle будет устанавливаться локально, то также будет необходимо Oracle Database Express Edition.
        Следует закачивать т.н. Universal-версию OracleXE для обеспечения поддержки UTF-8 (мультиязычности) на уровне БД.

      Установка базового набора приложений

      Оглавление раздела:

      OracleXE (если будем использовать локальную БД).
      • просто инсталлируем через Setup.
        В OracleXE, при инсталляции, отсутствуют возможности настройки языковых параметров БД. А для XWiki, для обеспечения мультиязычности, нужно чтобы они были настроены в UTF8 (например, NLS_CHARACTERSET должен быть AL32UTF8 ). Для этого необходимо чтобы OracleXE устанавливалась на версию Windows, где изначально все языковые настройки были сделаны в English. При этом недостаточно, чтобы эти настройки были настроены перед установкой OracleXE - они должны быть изначально такими именно при инсталляции Windows. Попытки настройки "по ходу дела" не дали результата.
      Java Development Kit (JDK)
      • Запускаем installer
      • JavaDB можно отключить
      • дальше все автоматически
      GlassFish application server
      • запускаем installer
      • должен найти установленную версию JDK
      • дополнительный компонент Update Tool выбираем
      • меняем порт по умолчанию, т.к. он пересекается с портом web-консоли Oracle (8080). Ставим, например - 8008.
      • дальше все автоматически

      Установка XWiki Enterprise

      Оглавление раздела:

      Установка XWiki в GlassFish
      Настройка соединения с Oracle
      • создаем схему для XWiki:
        • подключаемся к Oracle dba-юзером
        • создаем схему create user xwiki identified by xwiki;
        • назначаем привелегии grant all privileges to xwiki;
          Можно не назначать полные привилегии, а оставить по умолчанию. Полные привилегии могут потребоваться для режима multi-wiki (когда устанавливается XEM) (пока в точности не известно).
        • Копируем файл JDBC-драйвера ( ojdbc5.jar ) в \xwiki\WEB-INF\lib (подпапка в папке приложений GlassFish для домена1).
        • Редактируем файл настроек соединения XWiki с БД \xwiki\WEB-INF\hibernate.cfg :
          • Закомментировать строки не относящиеся к Oracle (general database).
          • Разкомментировать ту часть, где касается Oracle.
          • Указываем параметры коннекта к базе (SID и host).
            Если локально установлен OracleXE можно ничего не менять - а только разкомментировать и закомментировать соответствующие места.
          • Возможно еще следует включить UTF-8 для Oracle (точно не известно насколько это нужно или нет)
            • Открываем файл настроек соединения XWiki с БД \xwiki\WEB-INF\hibernate.cfg
            • перед строкой <mapping resource="xwiki.oracle.hbm.xml"/> добавляем 2 строки:
              <property name="connection.useUnicode">true</property>
              <property name="connection.characterEncoding">UTF-8</property>
            • Перезапускаем GlassFish командами stop-domain и start-domain .
            • В случае проблем с запуском OracleXE, проявляемых в виде ошибки ORA-12514 можно попробовать стартовать instance вручную. Для этого выполните следующие команды:
              ** sqlplus / nolog
              ** conn / as sysdba
              ** startup
            Дополнительная настройка GlassFish и запуск как windows-сервис

            Дополнительная настройка GlassFish

            • Следует добавить дополнительную опцию для JVM -Xrs
              Данная настройка необходима, т.к. в противном случае, GlassFish windows-сервис будет завершаться всегда при logout пользователя на сервере.
              • Заходим в админ-консоль GlassFish
              • В дереве слева выбираем Configuration , JVM Settings
              • На открывшейся страничке выбираем закладку вверху JVM Options
              • Откроется страница с параметрами JVM. Нажимаем кнопку вверху списка параметров Add JVM Options
              • В добавленном поле пишем -Xrs и нажимаем на Save
              • Еще одна необходимая вещь - настройка UTF-8 в GlassFish
                • Также из admin-консоли, в дереве слева выбираем Enterprise Server
                • На открывшейся странице выбираем закладку вверху Advanced , a потом подзакладку Domain attributes
                • В поле Locale пишем en_US.UTF-8

                Установка GlassFish как windows-сервиса

                Импорт xar-файла с базовыми страницами XWiki
                • На открывшейся после установки XWiki Enterprise странице, вверху, выбираем меню Wiki , а затем Administration .
                • Откроется страница Import, с возможностью выбора файла с диска. Выбираем с диска xar-файл от xwiki и нажимаем Upload .
                • Ваш xar-пакет с начальными страницами XWiki появиться в списке Available packages . Кликаем на него.
                • После клика, через некоторое время, в правой части будет открыт список страниц, содержащихся внутри xar-пакета, а внизу него кнопка Import . Жмем на нее.
                • После завершения импорта начального xar-файла следует залогиниться для продолжения работы.
                  первоначально логиниться следует под пользователем Admin , а пароль admin .
                Начальные настройки wiki
                • Для группы, куда входит юзер Admin (это группа XWikiAdminGroup ) следует дать права на programming (в разделе Administration , Rights )
                • Также следует настроить XWiki на работу в MultiLanguage режиме.
                  • Выберите раздел Administration , General
                  • На открывшейся странице установите true для опции Multilingual
                  • В поле languages установите перечень желаемых языков через запятую, например en,ru,ro

                  Каждый из этих способов следует рассматривать отдельно. Нами будет приведен internal-вариант, как более простой.

                  Дополнительный тюннинг XWiki

                  Оглавление раздела:

                  Настройка длинны имен прикрепленных файлов
                  Настройка элементов в Print preview
                  Настройка иконок в wysiwyg-редакторе
                  • Для того, чтобы вывести все иконки на тулбар в wysiwyg-редакторе необходимо:
                    • открываем templates\macros.vm
                    • находим строку plugins: '$xwiki.getXWikiPreference("wysiwyg.plugins", - в этой строке указываются те плагины, которые будут подгружаться, но сам вид тулбаров настраивается ниже.
                    • в найденную строку добавляем через пробелы (место не имеет значения) - color font justify - только этих трех плагинов нету в варианте по умолчанию.
                    • Теперь в строке toolbar: '$xwiki.getXWikiPreference("wysiwyg.toolbar" добавляем сами иконки. Вот полный вариант:
                    bold italic underline strikethrough teletype | subscript superscript | justifyleft justifycenter justifyright justifyfull | unorderedlist orderedlist |
                    outdent indent | undo redo | format | fontname fontsize forecolor backcolor | hr removeformat symbol | paste

                    - символ "|" означает строчный разделитель, символ "/" - разбивает тулбар на несколько строк.

                    Настройка сортировки прикрепленных файлов
                    Настройка максимального размера прикрепляемых файлов
                    • Ограничение в 10MB для upload-а. В XWiki имеется ограничение на upload. Для его регулирования следует:
                      • edit the XWiki.XWikiPreferences class and add a NumberProperty field of type long, named upload_maxsize; if the field already exists, you can skip this step
                      • edit the XWiki.XWikiPreferences object and specify the desired maximum attachment size (in bytes)
                      Отключение кэша аттачей

                      В некоторых случаях (например IE 7.0) происходит следующее. пользователь сделал attach файлу к странице XWiki, после чего другой пользователь также выполнил аттач этого файла к этой же странице XWiki (измененная версия файла). Сценарий вполне типичен для совместной работы с документами. У 1-го пользователя в этом случае, при попытке download-а загружается старая (1-ая) версия файла. Так происходит, вследствие того, что файл был запомнен в кэше браузера.

                      Дополнительный тюннинг SMTP

                      В некоторых случаях стандартных возможностей настройки SMTP-опций, описанных в документации может не хватать.

                      Настройка соединения со сторонней базой Oracle

                      Сторонняя база данных может использоваться, например, как источник информации, для визуализации на страницах XWiki (при необходимости можно выполнять и update данных).

                      Настройка GlassFish
                      Настройка XWiki

                      Далее необходимо выполнить настройку XWiki.

                      Дополнительные макросы и приложения

                      Оглавление раздела:

                      • Admin Tools - содержит список различных добавок для администраторов: статистика, экспорт и пр.
                      • LDAP Tools - содержит утилиты для работы с LDAP: а) настройка взаимодействия, job для синхронизации
                      • PlantUML Macro - макрос для построения UML-диаграмм.
                      • Tabs Macro - макрос для визуализации на странице табов
                      • LiveTable Macro - макрос для удобного построения таблиц по технологии LiveTable
                      • Calc Macro - макрос для простых подсчетов в таблицах XWiki
                      • Todo Macro - макрос для добавления прямо на страницы списков дел
                      • Spoiler Macro - макрос для добавления на страницу скрытых элементов
                      • Lightbox Macro - макрос создает презентацию из картинок
                      • MBox, MCode, MNote Macros - макросы создающие специальные box-ы с красивым видом
                      • Copy Space Snippet - данный код позволяет скопировать Раздел в другой Раздел
                      • Delete Space Snippet - данный код позволяет выполнить удаление разделов
                      • SpaceExplorer Panel Application - добавляет панельку, с деревом разделов и страниц в них

                      Обычно макросы и приложения для платформы XWiki реализуются в виде xar-файлов, которые следует импортировать в XWiki стандартным образом, через раздел Administration , а потом Import - для таких доп. компонентов специального описания процесса установки приводиться не будет. Также, некоторые из добавок имеют доп. компоненты или же им требуется доп. настройка - в этом случае в описании также будут приведены краткие инструкции по установке.

                      Для начала нам необходимо скачать SDK. Для этого в поисковике можно набрать: “Java EE SDK 7”, либо напрямую перейти на страницу загрузки sdk с сайта Oracle.

                      В списке представленных SDK, необходимо выбрать ту, которая подходит для вашей платформы. В статье описывается установка дистрибутива: “java_ee_sdk-7-jdk7-windows-x64-ml.exe”

                      Запускаем установочный файл. Во время запуска может возникнуть следующая ошибка (если она не возникнет, значит, можно просто продолжать установку):

                      Настройка локального окружения для Java EE разработки - 2

                      Дальнейшая процедура установки вполне типична для большинства программ. Все, что нужно делать, — кликать на кнопки Next и Install.

                      1. Аннотация над классом @Path("dukesAge") определяет URI путь, обращения на который будет обрабатывать данный класс.
                      2. Аннотация над методом @GET говорит нам о том, что данный метод обрабатывает GET запросы.
                      3. Аннотация @Produces("text/plain") определяет media type ответа на запрос. Нетрудно догадаться, что метод getText() будет формировать ответы с media type: text/plain.

                      Настройка IntelliJ IDEA для запуска Java EE приложения на сервере GlassFish

                      1. Для этого переходим в меню Run -> Edit Configurations.
                      2. У нас откроется панель Run/Debug Configurations:
                      3. Нам необходимо добавить новую конфигурацию. Для этого нажмем на плюсик, либо воспользуемся хоткеем Alt+Insert. В открывшемся списке выберем GlassFish Server -> Local:
                      4. В открывшемся окне приступим к настройке конфигурации:
                      5. Следующим шагом укажем артефакты, которые необходимо будет деплоить на сервер. Это можно сделать через вкладку Deployment, нажав на плюс -> Artifact.
                      6. Выбираем dukes-age:war и нажимаем OK:
                      7. Далее сохраняем нашу конфигурацию, нажав на Apply, а затем OK.

                      Запуск приложения

                      Для этого можно воспользоваться хоткеем Alt+Shift+F10, либо через меню Run -> Run…

                      И выбираем созданную нами конфигурацию dukes-age:

                      Настройка локального окружения для Java EE разработки - 16

                      После этого мы видим логи запуска в панели Services:

                      Затем, если все сделано согласно инструкции, откроется браузер и станет понятно, что ничего не работает:

                      Для этого вернемся в IntelliJ IDEA, затем в меню: Run -> Edit Configurations…

                      Выберем ранее сохраненную конфигурацию и обновим URL в соответствии со скрином ниже:

                      Сохраним конфигурацию и перезапустим наше приложение с помощью хоткея Ctrl+Shift+F10, либо с помощью специальной кнопки, на панели Services:

                      После перезапуска, если все было сделано правильно, мы увидим возраст Дюка:

                      В данном уроке хочу вам показать как создать web-приложение используя возможности Glassfish и EJB3.

                      Шаг 0

                      1. Скачиваем Glassfish.


                      2. Скачиваем MySQL Server скачать

                      После скачивания устанавливаем, ставим пароль root. И создаем базу, называем её devcolibri.

                      Шаг 1

                      Добавляем зависимости в pom.xml

                      И еще нам потребуется два maven plugin-а:

                      Шаг 2

                      Теперь давайте создадим Entity (сущность) для работы с базой данных.

                      Создаем класс User.java

                      Дальше нам нужно создать EntityManager, но для начало настроим Glassfish.

                      Шаг 3

                      Что именно мы будем настраивать в glassfish?

                      Мы будем настраивать JDBC Connection.

                      Если вы только установили Glassfish, то он у вас уже запущен, нам нужно его остановить. Для этого идем туда где он установлен, если вы ничего не меняли, то он должен лежать в корне диска C:/glassfish4, и после в папку bin там есть файл asadmin.bat запускайте его. Появится консоль, там вы должны написать следующую команду, чтобы остановить glassfish:

                      Как проверить запущен ли сервер?

                      Для этого откройте браузер и просто напишите в URL -> localhost:4848, если вы увидите вход в админку glassfish то сервер запущен.

                      После того как вы остановили сервер идем в папку C:\glassfish4\glassfish\domains\domain1\lib\ext и копируем туда MySQLJDBCDriver, его можно найти в

                      C:\Users\devcolibri\.m2\repository\mysql\mysql-connector-java\5.1.25\mysql-connector-java-5.1.25.jar

                      Это нужно Glassfish для того чтобы получать connection к базе данных, так как за все транзакции будет отвечать glassfish то ему нужен данный драйвер.

                      Дальше открываем asadmin.bat и запускаем сервер следующей командой:

                      После этого идем в браузер по URL -> localhost:4848 и логинимся admin, пароль admin.

                      Открываем в пункте меню вкладку JDBC -> JDBC Connection Pool.

                      Теперь добавляем JDBC Resources на основе созданного Pool:


                      Внимание!

                      Или вместо этого, что мы настраивали выше можно добавить в консоли asadmin.bat следующей командой эти данные.

                      Для JDBC Connection Pool эта (все в одну строку):

                      и для JDBC Resources:

                      На этом настройка законченна!

                      Шаг 4

                      В проекте заходим в папку src/resources/ и создаем там новую папку META-INF и добавляем туда файл persistence.xml, теперь мы настроим наш персистенс на контейнер Glassfish-а.

                      Шаг 5

                      Создаем Bean для этого создадим класс UserBean.java и проаннотируем его аннотацией @Stateless.

                      Аннотация @Stateless указывает, что это будет бин без сохранения состояния между вызовами методов.

                      Шаг 6

                      Создаем Servlet который будет работать с данным бином, который мы создали выше.

                      Назовем его MainServlet.java он будет выводить все пользователей:

                      И теперь создадим jsp страницу которая будет выводить полученный список пользователей на Servlet-е.

                      Создадим list.jsp тут src\main\webapp\list.jsp:

                      Шаг 7

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

                      Создадим сервелет AddAndEditUserServlet.java:

                      и JSP для этого сервлета:

                      Шаг 8

                      И последний сервлет это для удаления пользователя, и назовем его DeleteUser.java:

                      Шаг 9

                      Теперь собираем проект с помощью Maven:


                      После этого в папке проекта появится папка target и там будет собранный проект с расширением *.war

                      Шаг 10

                      Теперь деплоим (Deploy).

                      После удачного деплоя вы можете зайти на свое приложение:

                      В результате получится это:


                      P.S. Спасибо за внимание! Надеюсь я вам помог.

                      ПОХОЖИЕ ПУБЛИКАЦИИ

                      22 комментариев к статье "Web-приложение с использованием EJB3 + Glassfish и JPA2"

                      В idea довольно объемная инфраструктура для создания ear приложений, было бы очень интересно почитать про концепцию работы с такими проектами в этой ide, принятый порядок подключения модулей, сборки, работу с встроенными вайзардами, инкрементное обновление ear архива и т.д. Сама ide, с не привычки немного не очевидна :) родная их дока довольно скромна на примеры, а все сторонние статьи в основном больше про мавен чем про идею, а с мавеном проблем то как раз нет, по нему книг и статей написано немерено :) Да если можно, выложите пожалуйста собранный правильно с вашей точки зрения ear проект в idea на что-нибудь вроде гитхаба, было бы интересно посмотреть :)

                      Есть неточность в связке между Шагом 4 и 5. Не правильно указанно имя PersistenceContext.

                      В данном руководстве показано, как создать простой клиент приложения и выполнить доступ к компоненту Enterprise JavaBean (EJB), развернутому на сервере 3-й версии GlassFish. В этом руководстве мы начнем с создания корпоративного приложения, содержащего простой сеансовый компонент, и проекта библиотеки классов Java, содержащей удаленный интерфейс для этого сеансового компонента. Затем мы создадим клиент приложения, выполняющий доступ к сеансовому компоненту через удаленный интерфейс в библиотеке классов. Файл JAR библиотеки классов, содержащий удаленный интерфейс, добавляется к пути класса корпоративного приложения и клиенту приложения.

                      Упражнения по темам руководства

                      Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.

                      Версия 7.2, 7.3, 7.4, 8.0, Java EE

                      GlassFish Server Open Source Edition 3.1.2.2

                      Предпосылки

                      Предполагается, что читатель обладает базовыми знаниями по следующим технологиям или опытом программирования с их использованием:

                      Программирование на Java

                      Создание библиотеки классов Java

                      В данном разделе мы создадим проект библиотеки классов Java, который будет содержать удаленный интерфейс для EJB. Этот удаленный интерфейс ведет себя как интерфейс API для EJB, используемый клиентами для связи с EJB.

                      Файл JAR библиотеки легко разослать всем клиентам, которым может потребоваться вызвать EJB. Клиентам, которым нужен доступ к EJB, достаточно добавить файл JAR библиотеки к пути классов проекта. В реализации EJB тот же файл JAR используется для реализации интерфейса.

                      appclient newclasslibrary

                      Figure 1. Мастер создания проектов библиотк классов

                      После нажатия кнопки "Готово" среда IDE создаст проект библиотеки классов Java. В следующем разделе мы создадим корпоративное приложение Java EE и модуль EJB. Затем мы используем мастер для создания сеансного компонента и удаленного интерфейса к этому сеансовому компоненту в проекте библиотеки классов. Клиент приложения выполнит доступ к сеансовому компоненту сеанса через интерфейс в библиотеке классов.

                      Создание модуля EJB

                      В этом разделе мы создадим корпоративное приложение и модуль EJB. При создании компонента EJB его следует создать как часть корпоративного приложения, сжать в архив EAR и развернуть на сервере.

                      Создание приложения уровня предприятия

                      В этом разделе вы будете использовать мастер создания проектов для создания корпоративного приложения, содержащего модуль EJB. Данный мастер предоставляет возможность создать модуль EJB при создании приложения.

                      Выберите GlassFish Server в качестве сервера.

                      appclient newentappejb

                      Figure 2. Выберите Create EJB Module (Создать модуль EJB) в мастере

                      При нажатии кнопки "Готово" среда IDE создаст корпоративное приложение и модуль EJB. В окне 'Проекты' видно, что проект модуля EJB указан в узле Java EE Modules проекта приложения корпоративного уровня.

                      appclient projects entappejb1

                      Figure 3. В окне 'Проекты' отображаются открытые проекты

                      Можно заметить, что теперь в окне проектов перечислены три типа проектов: библиотека классов, корпоративное приложение и модуль EJB.

                      Создание компонента сеанса

                      В этом упражнении мы используем мастер для создания компонента сеанса в проекте модуля EJB. В этом мастере мы также создадим удаленный интерфейс для компонента сеанса в проекте библиотеки классов.

                      Щелкните правой кнопкой мыши проект модуля EJB и выберите New ("Создать") > Session Bean ("Сеансный компонент").

                      Введите MySession в поле EJB Name ("Имя EJB").

                      В поле Package ("Пакет") введите ejb.

                      Выберите Stateless ("Без поддержки состояния") в Session Type ("Тип сеанса").

                      Выберите параметр Remote ("Удаленный") в Create Interface ("Создать интерфейс").

                      appclient wizard newsessionbean

                      При нажатии "Готово" среда IDE создает сеансовый компонент в пакете ejb модуля EJB и открывает класс в редакторе. Можно увидеть, что MySession реализует интерфейс MySessionRemote и что файл JAR EJBRemoteInterface был добавлен как библиотека модуля EJB.

                      Мастер также создает удаленный интерфейс под названием MySessionRemote в пакете ejb проекта EJBRemoteInterface. IDE автоматически добавляет библиотеку интерфейса API Java EE 6, необходимую интерфейсу EJB.

                      appclient projects entappejb2

                      Figure 5. Окно 'Проекты', в котором отображаются компонент сеанса и удаленный интерфейс

                      Добавление бизнес-метода

                      В этом упражнении мы создадим простой бизнес-метод в сеансовом компоненте, возвращающий строку.

                      Щелкните правой кнопкой мыши редактор MySession и выберите Insert Code ("Вставить код") (Alt-Insert; Ctrl-I на Mac), затем выберите Add Business Method ("Добавить бизнес-метод").

                      Внесите нижеприведенные изменения, чтобы метод getResult возвращал строку.

                      Класс должен выглядеть следующим образом:

                      Теперь у нас есть корпоративное приложение с простым компонентом EJB, предоставляемым через удаленный интерфейс. У нас также имеется независимая библиотека классов, содержащая интерфейс EJB, которую можно разослать другим разработчикам. Разработчики могут добавлять библиотеку к своим проектам, если им нужна связь с EJB, предоставляемым через удаленный интерфейс, но не нужны исходные коды для EJB. При изменении кода для EJB достаточно распространить JAR обновленной библиотеки классов, если изменения затронули любой из интерфейсов.

                      При использовании диалогового окна "Добавить бизнес-метод" среда IDE автоматически включает метод в удаленный интерфейс.

                      Развертывание корпоративного приложения

                      Теперь корпоративное приложение можно собрать и запустить. При запуске приложения среда IDE развернет архив EAR на сервере.

                      Щелкните правой кнопкой мыши корпоративное приложение EntAppEJB и выберите Deploy ("Развернуть").

                      После выбора "Развернуть" среда IDE собирает корпоративное приложение и разворачивает архив EAR на сервере. Если взглянуть в окно Files ("Файлы"), можно заметить, что файл JAR EJBRemoteInterface развернут вместе с приложением.

                      Если развернуть узел 'Приложения' сервера GlassFish в окне 'Службы', можно увидеть, что компонент EntAppEJB развернут.

                      Создание клиента приложения

                      В этом разделе мы создадим клиент корпоративного приложения. При создании клиента приложения проекту нужна библиотека классов Java EJBRemoteInterface в качестве библиотеки, чтобы установить ссылку на EJB.

                      При запуске корпоративного приложения среда IDE пакетирует клиент приложений и файл JAR библиотеки классов Java в архив EAR. Файлы JAR библиотеки должны быть упакованы в файл EAR вместе с клиентом приложения, если необходим доступ к ним из клиента приложения.

                      Создание приложения уровня предприятия

                      В этом упражнении мы используем мастер создания проектов, чтобы создать проект клиента приложения. Если развертывание выполняется на сервере GlassFish 3.1 или 4.x, клиент приложения можно создать и запустить как отдельный проект. Клиент приложения больше не надо будет развертывать и запускать как часть корпоративного приложения.

                      При развертывании на GlassFish 3.0.1, необходимо создать клиентское приложение в виде модуля в проекте корпоративного приложения и запустить корпоративное приложение.

                      Обратите внимание, что добавлять проект к корпоративному приложению необязательно.

                      appclient wizard newentappclient

                      Figure 6. Создание клиента приложения, выбранного в мастере создания проектов

                      При нажатии "Готово" IDE создаст проект клиента приложения и откроет Main.java в редакторе.

                      Добавление библиотеки классов

                      Теперь следует добавить библиотеку классов, содержащую удаленный интерфейс, к пути классов проекта, чтобы позволить клиенту приложения ссылаться на EJB. Проект библиотеки классов теперь открыт, так что диалоговое окно "Вызвать компонент корпоративного уровня" теперь можно использовать для помощи в генерировании кода с целью вызова EJB.

                      Если проект библиотеки классов не открыт, вы можете добавить библиотеку классов для проекта в окне 'Проекты', щелкнув правой кнопкой мыши узел 'Библиотеки' узла и выполнив поиск файла JAR проекта EJBRemoteInterface.

                      Разверните узел Source Packages ("Пакеты исходного кода") проекта EntAppClient и откройте Main.java в редакторе.

                      Щелкните правой кнопкой мыши исходный код и выберите Insert Code ("Вставить код") (Alt-Insert; Ctrl-I на Mac), затем выберите Call Enterprise Bean ("Вызвать компонент корпоративного уровня"), чтобы открыть диалоговое окно вызова компонента корпоративного уровня.

                      appclient callenterprise

                      Figure 7. Диалоговое окно 'Вызвать компонент корпоративного уровня'

                      В данном диалоговом окне автоматически выбирается тип интерфейса Remote ("Удаленный"). При нажатии кнопки OK среда IDE добавит следующую аннотацию к Main.java .

                      Среда IDE также автоматически добавит EJBRemoteInterface как библиотеку проекта.

                      Измените главный метод извлечения строки метода getResult посредством интерфейса MySessionRemote. Сохраните изменения.

                      public static void main(String[] args)

                      Запуск клиента приложения

                      Теперь клиент приложения можно запустить, собрав и развернув проект EntAppClient.

                      Щелкните правой кнопкой мыши проект EntAppClient в окне Projects ("Проекты") и выберите Run ("Запустить").

                      Кроме того, вы можете расширить исходный пакет и щелкнуть правой кнопкой мыши класс Main.java и выбрать 'Выполнить файл'.

                      appclient buildoutput

                      Если необходимо создать дополнительные EJB, можно просто добавить новые удаленные интерфейсы EJB к проекту библиотеки классов EJBRemoteInterface.

                      Что дальше?

                      For more information about using IDE NetBeans to develop Java EE applications, see the following resources:

                      Дополнительные сведения о разработке компонентов корпоративного уровня EJB можно найти в Руководстве по Java EE 6.

                      To send comments and suggestions, get support, and keep informed on the latest developments on the IDE NetBeans Java EE development features, join the nbj2ee mailing list.

                      Читайте также: