PC via queues — различия между версиями

Материал из PayControl Wiki
Перейти к: навигация, поиск
(Windows)
(pc-dmz-queue)
Строка 26: Строка 26:
  
 
В командной строке выполните следующие команды
 
В командной строке выполните следующие команды
 +
<source lang="cmd">
 
cd C:\pc-dmz-queue\
 
cd C:\pc-dmz-queue\
 
winsw.exe install pc-dmz-queue-1.0.jar
 
winsw.exe install pc-dmz-queue-1.0.jar
 +
</source>
  
 
Логи находятся в C:\pc-queue-lan\.
 
Логи находятся в C:\pc-queue-lan\.

Версия 17:52, 26 декабря 2022

Описание

Приложение состоит из двух модулей:

  • для зоны DMZ - pc-dmz-queue-1.0.jar;
  • для внутренней сети pc-queue-lan-1.0.jar.

В папке unit располагаются файлы настроек и файлы для запуска приложений в системе Linux через systemctl.

Файлы для запуска

Linux

Файлы запуска имеют разрешение .service.

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

WorkingDirectory=/opt/clientSide - директория в которой располагается исполняемый файл конкретного приложения

ExecStart=java -Xms256m -Xmx512m -jar /opt/clientSide/serverSide-1.0.jar /opt/clientSide/application.yml - строка для запуска приложения

Также необходимо обратить на пути до приложения и файла настроек

User=pcontrol - пользователь под которым будет запускаться приложение.

Установка

pc-dmz-queue

Windows

Распакуйте архив в корень диска, так, чтобы файл winsw.exe был доступен по пути C:\pc-dmz-queue\winsw.exe

В командной строке выполните следующие команды

cd C:\pc-dmz-queue\
winsw.exe install pc-dmz-queue-1.0.jar

Логи находятся в C:\pc-queue-lan\. Созданной службой можно усправлять из приложения Службы(Services). Настройка подключений производится в application.yml.

Linux

Создать папку

mkdir /opt/pc-dmz-queue

В настройках файлов `.service` указать пользователя wildfly или создать нового, с аналогичными параметрами.

groupadd -r username
useradd -r -g username -d /opt/pc-dmz-queue -s /sbin/nologin username

Предоставить доступ на запуск файлу start.sh

chmod +x start.sh

Скопировать файл сервиса, запустить его и включить автозапуск

sudo cp -v pc-dmz-queue.service /etc/systemd/system/
sudo systemctl enable pc-dmz-queue.service
sudo systemctl start pc-dmz-queue.service

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

journalctl -u pc-dmz-queue.service

pc-queue-lan

Windows

Linux

Создать папку

mkdir /opt/pc-queue-lan

В настройках файлов `.service` указать пользователя wildfly или создать нового, с аналогичными параметрами.

groupadd -r username
useradd -r -g username -d /opt/pc-queue-lan -s /sbin/nologin username

Предоставить доступ на запуск файлу start.sh

chmod +x start.sh

Скопировать файл сервиса, запустить его и включить автозапуск

sudo cp -v pc-queue-lan.service /etc/systemd/system/
sudo systemctl start pc-queue-lan.service
sudo systemctl enable pc-queue-lan.service

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

journalctl -u pc-queue-lan.service

Конфигурирование модулей

Установка параметров работы модулей производится в файле application.yml.

Настройка входящих соединений

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

* server:
  *  port: 8090
  *  address: 0.0.0.0

0.0.0.0 - означает что модуль будет принимать все запросы на любых сетевых интерфейсах

Настройка подключения к брокеру очередей

Модули работают с брокером RabbitMQ. Пример параметров подключения:

* spring:
  * rabbitmq:
    * username: pcuser
    * password: 1
    * virtual-host: /
    * host: pctest5.loc
    * port: 5672

Настройка модуля pc-queue-lan для подключения к серверу PCS

Адрес и порт сервера PCS:

* paycontrol:
  * url: pctest5.loc
  * port: 8080

Настройка PC на работу через очередь

Настройка PC External

Для настройки PC External на отправку сообщений в очередь, необхоимо в файле

  • Linux - `/opt/wildfly/bin/standalone.conf`
  • Windows - `wildfly\bin\standalone.conf.bat`

в параметрах переменных окружения, вместо адреса сервера PCS задать адрес модуля pc-dmz-queue, например:

v3

-Dpcservice.endpoint=http://localhost:8090/ws/PayControlServiceV3?wsdl

v5

-Dpcservice.endpoint=http://localhost:8090/pc-api/

При этом адрес эндпоинта должен оставаться таким-же как и для сервера PC Server.

Настройка PC Server

Внесение настроек на сервер PC Server не требуется.