Несколько экземпляров клиента Hazelcast

Я хочу получить доступ к данным с сервера hazelcast с помощью клиента hazelcast. Я использую потоки в своем клиенте hazelcast. Когда потоки выполняются параллельно, если первый поток выполняет client.shutdown(), а другой поток выполняется,

Моя программа выдает исключение как Internal executor rejected task: because client is shutting down.

Какое решение для этого?


person Hemnath    schedule 16.03.2015    source источник
comment
дорогой Хемнат, пожалуйста, выбери правильный ответ на этот вопрос. Спасибо   -  person Vik Gamov    schedule 22.07.2016


Ответы (2)


Клиент Hazelcast является потокобезопасным и может использоваться повторно. Я бы предложил закрыть ваш клиент при завершении работы вашего приложения.

См. аналогичный вопрос SO Является ли Hazelcast Client потокобезопасным?

person Vik Gamov    schedule 16.03.2015

В Java нет «деструкторов», поэтому вам нужно найти какой-нибудь «крючок». Вы можете добавить обработчик завершения работы JVM, если это консольное приложение, использовать Spring DisposableBean, предполагая, что вы используете Spring (кто не использует сейчас?), или поместить его в прослушиватель сеанса Webapp, если он размещен внутри веб-контейнера, такого как Tomcat. Есть много вариантов. Вот к чему относится вызов завершения работы клиента Hazelcast. В противном случае это потокобезопасно.

person Alex Rogachevsky    schedule 15.06.2015