Add exists task. Ошибки СМЭВ-адаптера

Инструкция по исправлению ошибки «add exists task» Адаптера СМЭВ версии 3.1.3.

Ошибки СМЭВ Адаптера

В версии 3.1.3 СМЭВ-адаптера периодически наблюдаются ситуации, когда он перестает отправлять или получать сообщения из СМЭВ.

В системном журнале при этом непрерывно пишутся следующие сообщения “add exists task”:

2019-06-18 20:35:47.520  WARN 16553 - [coreScheduler-1] ru.rtlabs.smev3.adapter.core.pipeline.Pipeline : add exists task XReceiveTask "receive MNEM01 RESPONSE"
2019-06-18 20:36:47.522  WARN 16553 - [coreScheduler-1] ru.rtlabs.smev3.adapter.core.pipeline.Pipeline : add exists task XReceiveTask "receive MNEM01 RESPONSE"
2019-06-18 20:37:47.525  WARN 16553 - [coreScheduler-1] ru.rtlabs.smev3.adapter.core.pipeline.Pipeline : add exists task XReceiveTask "receive MNEM01 RESPONSE"
2019-06-18 20:38:47.528  WARN 16553 - [coreScheduler-1] ru.rtlabs.smev3.adapter.core.pipeline.Pipeline : add exists task XReceiveTask "receive MNEM01 RESPONSE"
2019-06-18 20:39:47.528  WARN 16553 - [coreScheduler-1] ru.rtlabs.smev3.adapter.core.pipeline.Pipeline : add exists task XReceiveTask "receive MNEM01 RESPONSE"
2019-06-18 20:40:47.529  WARN 16553 - [coreScheduler-1] ru.rtlabs.smev3.adapter.core.pipeline.Pipeline : add exists task XReceiveTask "receive MNEM01 RESPONSE"

Эти записи лога периодически прерываются сообщениями об ошибках отправки или получения сообщений:

2019-06-19 00:36:17.801 ERROR 16553 - [pool-3-thread-28] ru.voskhod.smev.client.api.template.impl.v1_2.WSTemplateImpl : Ошибка получения запроса
com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.net.SocketTimeoutException: connect timed out
2019-06-19 00:36:17.801 ERROR 16553 - [pool-3-thread-28] ru.rtlabs.smev3.adapter.transport.receiver.XReceiver : 04YZ01 receiveMessages from REQUEST failure: Unknown exception type. See cause.
Caused by: com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.net.SocketTimeoutException: connect timed out
2019-06-28 11:16:40.778 ERROR 10566 - [pool-3-thread-2] ru.voskhod.smev.client.api.template.impl.v1_2.WSTemplateImpl : Ошибка отправки запроса
2019-06-28 11:16:40.784 ERROR 10566 - [pool-3-thread-2] ru.rtlabs.smev3.adapter.transport.sender.XSender : sending failure: Unknown exception type. See cause.
2019-06-28 11:16:40.792  INFO 10566 - [pool-3-thread-2] ru.rtlabs.smev3.adapter.common.model.services.transport.MessageContainerService : ------ save message content: ERROR
2019-06-28 11:16:40.793 ERROR 10566 - [pool-3-thread-2] ru.rtlabs.smev3.adapter.core.pipeline.BusinessThread : process XSendTask "send MNEM01 b288e208-c4af-4f0c-9a70-874a643536c2" failure: Unknown exception type. See cause.
2019-06-28 11:16:40.794 ERROR 10566 - [pool-3-thread-2] ru.rtlabs.smev3.adapter.core.pipeline.BusinessThread : XSendTask "send MNEM01 b288e208-c4af-4f0c-9a70-874a643536c2" stop state: FAILURE

В настоящий момент разработчики СМЭВ-адаптера разбирается с проблемой (да, они в курсе).

Пока Адаптер не обновлен, предлагаем инструкция по оперативному устранению ошибки силами конечного пользователя:

  1. Периодически контролировать содержимое системного журнала. Логи располагаются в каталоге [Каталог адаптера] /logs, где [Каталог адаптера] – это корневой каталог установки адаптера, который был задан при его установке.
  2. Если в логах обнаруживаются описанные выше записи, то необходимо перезапустить адаптер.
    1. В Windows необходимо перезапустить службу адаптера (под локальным администратором). Если Адаптер запускается в консоли, то нажать Ctrl+C и после остановки Адаптера выполнить команду
      start.bat
    2. В Linux нужно сначала остановить адаптер командой
      [Каталог адаптера]/adapter.sh stop
  3. Затем нужно убедиться, что Адаптер действительно остановлен, с помощью команды
    ps axu | grep java
    Не должно быть процесса с именем «smev-adapter.jar». Если он все-таки остался, то kill -9 [идентификатор процесса].
  4. Запустить Адаптер командой
    [Каталог адаптера]/adapter.sh start

Если у вас есть вопросы по работе системы межведомственного взаимодействия, СМЭВ-адаптера или подключения к видам сведений — напишите их в комментарии или свяжитесь с нами любым удобным для Вас способом.

avatar
1 Цепочка комментария
2 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
3 Авторы комментариев
ИгорьВиталий АскольдовАнатолий Авторы недавних комментариев
  Подписаться  
Уведомление о
Анатолий
Гость
Анатолий

«add exists task» Это предупреждение о том, что задача с таким id уже есть и она всё ещё выполняется. при этом время выполнения задачи дольше чем интервал между её повторным запуском. Для того чтобы не было этого предупреждения нужно понять почему долго выполняется задача и по возможности добиться сокращения времени выполнения. Либо увеличить интервал повторного выполнения в настройках.

Виталий Аскольдов
Гость
Виталий Аскольдов

Это все правильно и замечательно — не порождается лишних потоков, не отжирается память и все такое.
Но почему первоначальная задача-то не заканчивается вообще никогда?
Должна же она отвалиться когда-нибудь хотя бы по таймауту?
Пока задачи выясняют отношения, адаптер ничего не отправляет и не получает, а логи по несколько суток не содержат ничего, кроме сообщения, вынесенного в заголовок статьи.

Игорь
Гость
Игорь

Добрый день.
Используем адаптер смэв3 в режиме файлового обмена
В тестовом контуре проблем нет.
При попытке отправки в продуктивном контуре получаем ошибку:
ru.rtlabs.smev3.adapter.integrations.files.FilesExecutable : file ExtractionInvalidSendRequest_20191220155431746.xml don’t sent, because: HTTP transport error: java.net.ConnectException: Connection timed out: connect
Мы используем 10.0.43.61 который в ГКУ СО «РЦУП» перенаправляется на 172.20.3.12
Соответственно наши настройки:

Адрес: http://10.0.43.61:7500/smev/v1.2/ws?wsdl

Адрес маркировщика транзакций: http://10.0.43.61:8580/tm/Marker?wsdl

Оба адреса открываются в браузере на сервере где установлен адаптер.

Как определить, по какому адресу и порту возникает ошибка «HTTP transport error: java.net.ConnectException: Connection timed out: connect» ?

Возможно в исходном коде / скрытых настройках адаптера смэв3 явно «зашит» адрес 172.20.3.12 ?

Какие порты должны быть доступны для 172.20.3.12 кроме 7500, 8580, 20, 21 ?