description
(что надо для установки приложения)
что надо установить чтобы JMS работал (Active MQ)
/admin - Экран администрирования
/admin/usersList - Список пользователей
/admin/user/id/{id} - пользователь с ID = {id}
/admin/user/login/{login} - пользователь с login = {login}
/admin/delete/id/{id} - удалить пользователя с ID = {id}
String registration()
String login()
String logout()
String messagePost()
String messageGet()
String messageDelete()
String messageAll()
String favoriteAdd()
favoriteDelete()
favoriteAll()
relativeNodeAdd()
relativeNodeDelete()
relativeNodeUpdate()
relativeNodeAll()
persInfoAdd()
persInfoDelete()
persInfoUpdate()
persInfoView()
albumAdd()
albumDelete()
albumUpdate()
albumView()
albumAll()
fileAdd()
fileDelete()
fileUpdate()
User - пользователи
Role - роли пользователей
Authorisation - авторизация пользователей (связь между пользователем и ролью)
AuthorisationKey - составной ключ сущности Authorisation (в базе данных не создается)
Profile - анкеты пользователей
Message - личные сообщения пользователей
EMail - сообщения электронной почты пользователей и не только
Favourite - выбранные пользователем фавориты (друзья), т.е. другие пользователи
FavouriteKey - составной ключ сущности Favorite (в базе данных не создается)
Tree - генеалогическое дерево пользователя
Person - люди, составляющие генеалогическое дерево. Владелец дерева (т.е. пользователь) также представлен в этой таблице. Для него User (user_id) NOT NULL
Relationship - отношения между людьми, составляющими дерево
RelationshipType - типы отношений между людьми ("брак", "родительство" и т.д.)
RelationshipRole - роли людей в паре, составляющей отношение (например, для отношения "родительство" роль 1 = "мать", роль 2 = "дочь", для отношения "брак" - роль 1 = "муж", роль 2 = "жена")
Реализация дерева, с небольшими изменениями, заимствована отсюда:
http://databaseanswers.org/data_models/genealogy/genealogy_physical.htm
какие методы и зачем
В программе используется асинхронный способ отправки/получения JMS сообщений "point to point". Чтобы проверить работу JMS необходимо провести следующие действия:
Для работы JMS необходим сервер(брокер). Мы используем готовый бесплатный сервер Apache ActiveMQ. Для его установки необходимо пройти по ссылке: http://activemq.apache.org/download.html Затем скачать и распаковать в любую удобную папку на компьютере. Установка закончена. Далее необходимо запустить сервер в работу. Тут надо смотреть в зависимости от операционной системы - для 64-й Windows это каталог: "/bin/win64", файл "activemq.bat". Проверить, работает ли сервер можно перейдя по адресу: http://localhost:8161/admin/ login: admin password: admin
Открываем список пользователей: http://localhost:8080/admin/usersList . У каждого пользователя из списка в колонке "Inspection" есть кнопка "Inspect", по нажатии на которую оправляется запрос о проверке данного пользователя на предмет соответствия заданных характеристик истинным в другую испекционную программу. Запрос отправляется в виде JMS-сообщения. Выбираем любого пользователя и нажимаем кнопку. Если отправка прошла успешно в окне браузера появится текст "JMS Message for inspection user was send".
Для проверки пришло(ли) наше(и) сообщение(я) на сервер открываем адрес http://localhost:8161/admin/queues , и в списке очередей ищем очередь с наименованием "inspection-queue". Проверяем число в первом столбце - это и есть количество сообщений, оно должно отличаться от значения до отправки.
Клонируем исходники программы: https://github.com/DenisGuzikov/person-inspection.git себе в локальную папку, открываем в новом окне, и настраиваем параметры запуска из под среды Idea: в меню "Open module settings" надо добавить только два модуля: Web и Spring. Также чтобы не закрывать основную программу "genelove", надо изменить номера портов для запуска "project-inspection": HTTP-port: 8081, JMX-port: 1099, либо закрыть "genelove", т.к. наличие одновременно 2-х открытых программ необязательно. Запускаем программу. Теперь, чтобы проверить пришли ли сообщения открываем адрес: http://localhost:8081/allMessages в списке сообщений ищем сообщение с нужным пользователем (последние снизу). Открываем опять очередь сообщений на сервере - если она пустая, значит всё работает правильно.