2013-09-26 60 views
5

Mã Java của tôi đã bắt đầu số các cá thể Hazelcast trong cùng một JVM (nhưng chúng nằm trong cùng một nhóm).Có cách nào để tắt một phiên bản Hazelcast trong một JVM không?

Bây giờ tôi muốn tắt một số trường hợp, nhưng không phải tất cả chúng.

Tôi biết phương thức Hazelcast.shutdownAll() - phương pháp này đóng tất cả các phiên bản. Có phương pháp nào cho phép đóng một cá thể cụ thể không?

Trả lời

11

Nó rất dễ dàng - đây là mã:

HazelcastInstance instance = Hazelcast.newHazelcastInstance(config); 

instance.getLifecycleService().shutdown(); 
7

Đó là đúng.

Tùy thuộc vào phiên bản Hazelcast, bạn cũng có thể gọi hazelcastInstance.shutdown().

+1

Phương pháp không được chấp nhận. Vui lòng kiểm tra tài liệu. – pveentjer

+0

Bạn nói đúng. Funnily đủ, nó đã không được chấp nhận trong một thời gian. Tài liệu v2.4 cho thấy nó không được chấp nhận kể từ v1.9 (http://docs.hazelcast.org/docs/2.4/javadoc/com/hazelcast/core/HazelcastInstance.html#shutdown()), trong khi tài liệu mới nhất không còn cho thấy nó không được chấp nhận nữa (http://docs.hazelcast.org/docs/3.7/javadoc/com/hazelcast/core/HazelcastInstance.html#shutdown()). Tôi đã sửa chữa ... – nwinkler

+0

Âm mưu dày đặc ... Phương pháp 'tắt máy 'thực ra đã chuyển từ bản phát hành v3.0 (http://docs.hazelcast.org/docs/3.0/javadoc/com/hazelcast/core /HazelcastInstance.html), nhưng có vẻ như nó đã được đưa trở lại trong v3.1: http://docs.hazelcast.org/docs/3.1/javadoc/com/hazelcast/core/HazelcastInstance.html#shutdown() - quá buồn cười! – nwinkler