Информациони системи 1/JMS

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

На првој лабораторијској вежби ради се JMS (Java Message Service). Водич испод служи за успешно постављање алата на вашем рачунару и као помоћ при најчешћим грешкама на које можете наићи при вежбању и изради лабораторијске вежбе и написан је тако да се најчешће грешке могу лако потражити.

Виртуелна машина

Пошто поставке ових алата тако да раде могу да буду компликоване, дуге и са грешкама, можете да преузмете незваничну ИС1 виртуелну машину са свим алатима већ постављеним. Ово значи да на страницама са водичима нећете морати да испратите Поставка одељке, јер су алати већ постављени за вас, као и да су неке од честих грешки већ исправљене.

Поставка

Следећи поступак би требало да вас доведе до успешне поставке како бисте били спремни за покретање пројеката са странице предмета.

  1. Инсталирајте JDK (Java Development Kit) 8. Званични сајт за инсталацију тражи пријављивање пре преузимања, па можете погледати и на следећој страни који су линкови за преузимање без пријаве (уколико сте на Windows, тражите било који линк са суфиксом -windows-x64.exe у коментарима). Препоручује се да осим ове верзије немате друге верзије JDK инсталиране на рачунару, или да вам (уколико вам то оперативни систем дозвољава) JDK 8 буде постављен као подразумевани (java -version команда би требало да помиње 1.8.0).
  2. Преузмите Apache NetBeans са њиховог сајта. Препоручује се да преузмете верзију 12.0, која је такође и LTS (Long Term Support) због тога што је она инсталирана у рачунарским лабораторијама и због честих проблема са генерисањем ентитетских класа у JPA делу градива на новијим верзијама NetBeans.
  3. При инсталирању NetBeans, обавезно га инсталирајте у директоријуму без размака у путањи. На Windows, NetBeans се подразумевано инсталира у Program Files директоријуму, па неке библиотеке неће моћи да се успешно увезу. Зато морате променити подразумевану путању инсталације на, на пример, C:\NetBeans. Путања до JDK не би требало да има ових проблема.
  4. Када укључите NetBeans, десним кликом на одељак ServicesServers и бирањем опције Add Server можете додати GlassFish Server. При додавању ће вас питати за верзију, где можете изабрати 5.1.0 или 5.0 (која има једну зачкољицу при бирању класе драјвера у трећем блоку предавања, видљиву на вежбама Стефана Тубића из 2020. године).
    • Уколико вам се овде деси грешка "Not a valid GlassFish Server installation.", погледајте да вам нису остале прошле инсталације GlassFish Server, на пример у вашем корисничком директоријуму. Такође можете да пробате са другом верзијом GlassFish.
  5. Уколико вам се деси да не можете да видите пројекте у Projects одељку, пробајте са овим упутствима.
  6. Уколико вам се деси да не може да се увезе пакет javax.jms или његови подпакети, у Properties тог пројекта, под одељком Libraries, можете изабрати Add Library а затим изабрати Java EE 8 API Library.
  7. Након што сте успешно отворили пројекат, у њему можете видети @Resource декларације са именима JMS Connection Factory, Topic или Queue које треба да направите на GlassFish серверу. Сервер прво треба да покренете десним кликом на њега и бирањем опције Start, конзола за управљање се налази на http://localhost:4848, а ресурсе можете правити под ResourcesJMS Resources у левој траци.
    • Уколико сте правили више GlassFish сервера, порт можда није 4848. То можете да видите у DAS Port одељку када изаберете Properties на серверу након десног клика.
    • Понекад при прављењу ресурса GlassFish може да баци неочекивану серверску грешку. У том случају само се вратите на контролну таблу а ресурс би требало да остане ту.

Напомене

  • Уколико вам се деси грешка "The module has not been deployed." праву грешку можете видети у GlassFish Server табу. Грешке обично нису означене црвеном бојом, али уколико сте некад видели stack trace у Јави, требало би да их препознате.
    • Уколико тамо пише "Specified library jar javaee-api-8.0.jar does not exist", прочитајте корак 3 поставке окружења. (Овај проблем је решен на ИС1 виртуелној машини.)
  • Уколико вам се дешава да се отворени пројекти не приказују, пробајте са реинсталацијом nb-javac додатка.
  • Уколико покрећете нови пројекат, изаберите Java with AntJava EEEnterprise Application Client.
  • Не заборавите да поруке могу да остају у Queue и Topic и након гашења вашег програма. Понекад може да се деси да ваш програм чита из реда у који су послате поруке из неког од претходних пројеката или из тог истог пројекта али са неком грешком. У том случају најлакше је направити нови Queue или Topic и променити име ресурса у пројекту. Брисање и прављење ресурса са истим именом на серверу понекад може да не ради.