我想使用hazelcast客户端从hazelcast服务器访问数据。我在hazelcast客户端使用线程。当线程并行执行时,如果第一个线程执行client.shutdown()
而另一个线程正在执行,
我的程序抛出异常Internal executor rejected task: because client is shutting down
。
这是什么解决方案?
答案 0 :(得分:0)
Hazelcast Client是线程安全的,可以重复使用。我建议在关闭应用程序时关闭客户端。
查看类似的SO问题Is Hazelcast Client thread safe?
答案 1 :(得分:0)
Java没有"析构函数",所以你需要找到某种" hook"。你可以添加一个JVM关闭钩子,如果它是一个控制台应用程序,使用Spring的DisposableBean,假设你使用Spring(现在不是吗?)或者把它放在Webapp会话监听器中,如果它是在里面托管的话像Tomcat这样的Web容器。有很多选择。您的Hazelcast客户端关闭呼叫所属的位置。否则它是线程安全的。