Preface

Welcome to the Hazelcast Reference Manual. This manual includes concepts, instructions and samples to guide you on how to use Hazelcast and build Hazelcast applications.

As the reader of this manual, you must be familiar with the Java programming language and you should have installed your preferred IDE.

Hazelcast Editions

This Reference Manual covers all editions of Hazelcast. Throughout this manual:

  • Hazelcast refers to the open source edition of Hazelcast in-memory data grid middleware. It is also the name of the company providing the Hazelcast product.
  • Hazelcast Enterprise - a commercially licensed edition of Hazelcast which provides high-value enterprise features in addition to Hazelcast.
  • Hazelcast Enterprise HD - a commercially licensed edition of Hazelcast which provides High-Density (HD) Memory Store and Hot Restart Persistence features in addition to Hazelcast Enterprise.

Hazelcast Architecture

You can see the features for all Hazelcast editions in the following architecture diagram.

image

For more information on Hazelcast's Architecture, please see the whitepaper An Architect’s View of Hazelcast.

Licensing

Hazelcast is free provided under the Apache 2 license. Hazelcast Enterprise is commercially licensed by Hazelcast, Inc.

For more detailed information on licensing, please see the License Questions appendix.

Trademarks

Hazelcast is a registered trademark of Hazelcast, Inc. All other trademarks in this manual are held by their respective owners.

Customer Support

Support for Hazelcast is provided via GitHub, Mail Group and StackOverflow

For information on the commercial support for Hazelcast and Hazelcast Enterprise, please see hazelcast.com.

Release Notes

Please refer to the Release Notes document for the new features, enhancements and fixes performed for each Hazelcast release. You can also find information on upgrading Hazelcast from previous releases in the Release Notes document.

Contributing to Hazelcast

You can contribute to the Hazelcast code, report a bug or request an enhancement. Please see the following resources.

Phone Home

Hazelcast uses phone home data to learn about usage of Hazelcast.

Hazelcast member instances call our phone home server initially when they are started and then for every 24 hours. This applies to all the instances joined to the cluster.

What is sent in?

The following information is sent in a phone home:

  • Hazelcast version
  • Local Hazelcast member UUID
  • Download ID
  • A hash value of the cluster ID
  • Cluster size bands for 5, 10, 20, 40, 60, 100, 150, 300, 600 and > 600
  • Number of connected clients bands of 5, 10, 20, 40, 60, 100, 150, 300, 600 and > 600
  • Cluster uptime
  • Member uptime
  • Hazelcast Enterprise specific:
    • Number of clients by language (Java, C++, C#)
    • Flag for Hazelcast Enterprise
    • Hash value of license key
    • Native memory usage

Phone Home Code

The phone home code itself is open source. Please see here.

Disabling Phone Homes

Set the hazelcast.phone.home.enabled system property to false either in the config or on the Java command line. Please see the System Properties section for information on how to set a property.

Phone Home URLs

For versions 1.x and 2.x: http://www.hazelcast.com/version.jsp.

For versions 3.x up to 3.6: http://versioncheck.hazelcast.com/version.jsp.

For versions after 3.6: http://phonehome.hazelcast.com/ping.

Typographical Conventions

Below table shows the conventions used in this manual.

Convention Description
bold font - Indicates part of a sentence that require the reader's specific attention.
- Also indicates property/parameter values.
italic font - When italicized words are enclosed with "<" and ">", indicates a variable in command or code syntax that you must replace, e.g. hazelcast-<version>.jar.
- Note and Related Information texts are in italics.
monospace - Indicates files, folders, class and library names, code snippets, and inline code words in a sentence.
RELATED INFORMATION - Indicates a resource that is relevant to the topic, usually with a link or cross-reference.
image NOTE Indicates information that is of special interest or importance, e.g. an additional action required only in certain circumstances.
element & attribute Mostly used in the context of declarative configuration, i.e. configuration performed by the Hazelcast XML file. Element refers to an XML tag used to configure a Hazelcast feature. Attribute is a parameter owned by an element, contributing into the declaration of that element's configuration. Please see the following example.

<port port-count="100">5701</port>

In this example, port-count is an attribute of the port element.