Hornetq не работает, когда мы меняем системное время - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть проблема, и я надеюсь, что вы мне немного поможете. Я должен реализовать быстрое время пересылки, потому что мне нужно что-то проверить. Я написал скрипт на python, который увеличивает системное время на 5 секунд за каждую 1 реальную секунду. (В 5 раз быстрее). Тогда мой jboss не работает с некоторыми тайм-аутами hornetq. У вас есть идеи, как я могу это исправить?

03/09/18 09:18:00,107 WARN  
[org.hornetq.core.protocol.core.impl.RemotingConnectionImpl] (hornetq- 
failure-check-thread) Connection failure has been detected: Did not 
receive data from invm:0. It is likely the client has exited or crashed 
without closing its connection, or the network between the server and 
client has failed. You also might have configured connection-ttl and 
client-failure-check-period incorrectly. Please check user manual for 
more information. The connection will now be closed. [code=3]

1 Ответ

0 голосов
/ 05 сентября 2018

Основная проблема заключается в том, что изменение времени нарушает алгоритм обнаружения сбоев соединения, используемый брокером. Брокер считает, что он не получает пакеты «ping» от клиентов в нужное время, потому что вы заставляете время проходить с 5-кратной нормальной скоростью. Нет способа исправить это для удаленных клиентов, кроме отключения или расширения TTL соединения. Однако для соединений in-vm вы можете применить исправление от https://issues.jboss.org/browse/HORNETQ-1314 (которое не разрешено в используемой вами версии HornetQ) к ветке HornetQ, которую вы используете в данный момент, и перестроить. Если вы не хотите перестраивать, вы можете обновить до версии JBoss AS (или Wildfly), которая содержит это исправление.

...