Skip to content

mrbenino/teplosetejb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

"Teploset EJB"


Подготовка окружения (для OS Linux/Windows)

  1. распаковать файл БД в каталог на жестком диске. Например, я распаковал по пути: /home/yurii/Загрузки/Градиент/db/teploset_new.fdb;
  2. установить сервер СУБД. Установочный файл в Интернете: https://www.firebirdsql.org/en/firebird-2-5-8/;
  3. запутить сервер СУБД. В консоли выполнить команду запуска, например, в OS Linux: sudo /opt/firebird/bin/fbguard , в OS Windows можно запустить графическим путем через меню Пуск, указать способ запуска в качестве службы, также возможен запуск из консоли: https://www.firebirdsql.org/pdfmanual/html/fbmgr-win.html;
  4. скачать и установить jdk8: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
  5. скачать и установить NetBeans 8.2: https://netbeans.org/downloads/ (вариант "Все", при установке отказться от установки GlassFish, но можно запросить установку TomCat);
  6. распаковать сервер приложений GlassFish 4.1.0 на жеский диск. Качать отсюда: http://download.oracle.com/glassfish/4.1/release/index.html (glassfish-4.1.zip) Например, я распаковал по пути: /home/yurii/glassfish-4.1/glassfish4;
  7. скачать архив с файлом драйвера: https://firebirdsql.org/en/jdbc-driver/ (Jaybird-2.2.14-JDK_1.8.zip);
  8. распаковать архив с драйвером. Скопировать файл jaybird-full-2.2.14.jar в GlassFish, например: /home/yurii/glassfish-4.1/glassfish4/glassfish/domains/domain1/lib/ext/jaybird-full-2.2.14.jar , а также - в NetBeans, например: /usr/local/netbeans-8.2/ide/modules/ext/jaybird-full-2.2.14.jar
  9. командой в консоли OS проверить, какая версия java установлена по умолчанию. Если не 8-я версия, то в конфигурационных файлах GlassFish и NetBeans явно указать путь к расположению jdk8. Например, для GlassFish - по пути: /home/yurii/glassfish-4.1/glassfish4/bin отредактировать файл, например, под Windows - asadmin.bat:
  • закомментировать строку: #set JAVA="%AS_JAVA%\bin\java"
  • ниже добавить строку (пример): set JAVA="C:\Program Files\Java\jdk1.8.0_171\bin\java\bin\java" , для NetBeans - по пути: /usr/local/netbeans-8.2/etc отредактировать файл: netbeans.conf , пример строки под Linux: netbeans_jdkhome="/usr/lib/jvm/java-8-oracle" , пример строки под Windows: netbeans_jdkhome="C:\Program Files\Java\jdk1.8.0_171"
  1. запустить GlassFish. Например, под Windows - запустить файл asadmin.bat, в открывшейся консоли выполнить команду: start-domain , дождаться сообщения об успешном запуске.
  2. в любом популярном современном браузере перейти по адресу: http://localhost:4848
  3. создать пул соединений и ресурс, руководствуясь инструкцией: https://github.com/FirebirdSQL/jaybird/wiki/Glassfish-configuration пул назвать "Teploset", ресурс, ссылающийся на него - "jdbc/Teploset", выполнить пинг пула;
  4. запустить NetBeans, перейти в меню "Сервис - Серверы" или на вкладку "Службы" - "Серверы". Если эти разделы отсутствуют - создать новое пустое приложение EJB или открыть проект из данного репозитория - среда разработки активирует нужные разделы. Зарегистрировать сервер GlassFish, указав путь к распакованному ранее экземпляру. Перейти на вкладку "Службы" - "Базы данных" - "Драйверы" - зарегистрировать драйвер, ранее скопированный в соответствующий каталог NetBeans.

Работа с проектом

  1. Клонировать и открыть в NetBeans данный проект. Чтобы генерировать классы-сущности, соответствующие таблицам в БД и классы-фасады к ним:
  • кликнуть правой клавишей мыши (ПКМ) по пакету entity в модуле проекта ejb, новый-другое-персистентность-классы сущностей из БД - выбрать соединение (если ресурс jdbc/Teploset недоступен, то создать новый, например, с именем "jdbc/TeplosetDev"), выбрать нужные таблицы, сгенерировать,
  • кликнуть ПКМ по пакету facade в модуле проекта ejb, новый-другое-персистентность-сеансовые компоненты для сущностных классов, выбрать, для каких генерировать, сгенерировать;
  1. пересобрать и запустить проект. В браузере перейти по адресу: http://localhost:8080/TeplosetEJB-war/account , сервлет должен загрузить на страницу такой ответ: {"code":402843,"accountshifr":"402843","f":"Утембаева","i":"Ю","o":"В","fio":"Утембаева Ю В","begindate":"Oct 1, 2005 12:00:00 AM","flat":17,"accountfloor":0,"phone":"","hidden":0,"doccode":262,"docpos":8074,"rversion":15361757,"heatPercent":100.0000,"waterPercent":0.0000,"house":{"code":2,"shifr":"0002","begindate":"Oct 1, 2005 12:00:00 AM","number":9,"zhek":215,"maxfloor":5,"entrance":3,"flatcount":60,"remark":" 9 # ","doccode":503189,"docpos":61364540,"rversion":37642213,"hidden":0,"beginYear":1965,"inspector":55,"area":{"code":7,"shifr":"07","name":"Левобережный","shortname":"Левобережный","district":4,"address":"ул. Пашковского, 5.","billremark":"Информацию о состоянии расчетов, дату возникновения задолженности, средний объем потребления другими потребителями соответствующей категории, рекомендации относительно возможных мер повышения энергоэффективности зданий, и государственные целевые программы вы можете получить на сайте http://teploset.com.ua и участках ККП"Мариупольтеплосеть" по адресу ул. Пашковского,5, тел. 067-6403616, Авар.Сл. 51-20-42, На участках работают кассы, где можно произвести оплату без комиссии.","linkCode":"7","remark":"Понедельник-четверг, суббота 8.00-16.30, пятница 8.00-16.00 Перерыв с12.00-12.24.","systemuser":7,"lastuserchange":"Jan 23, 2018 2:54:43 PM","rversion":42368331,"hidden":0,"phone":"тел. 067-640-36-16","phoneTi":"067-626-1363"},"street":{"code":1,"shifr":"001","name":"ВОЛГОДОНСКАЯ","kind":"Ул.","altname":"ВОЛГОДОНСКАЯ","linkCode":"1","rversion":28499843,"hidden":0}}};
  2. если произойдет ошибка, ее можно посмотреть: перейти на вкладку "Службы" - "Серверы", кликнуть ПКМ по значку GlassFish - "Просмотр журнала сервера домена";
  3. чтобы выводить данные новых сущностей через новые фасады, когда они будут сгенерированы, в web-модуле проекта в классе сервлете нужно добавлять соответствующие внедрения при помощи аннотации @EJB и выводить данные в браузер при помощи строки кода по образцу: out.println(gson.toJson(mAccountFacade.findAll().get(100))); (в примере - получение списка всех аккаунтов с присоединенными данными адреса и вывод 101-го из них в браузер в формате Json).

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%