Optional module for Xitrum to provide cache and session store, based on Hazelcast.
Both Hazelcast 2.x and 3.x are supported.
See CHANGELOG for info about specific Xitrum and Hazelcast versions.
Add dependency to your SBT project:
Hazelcast 2:
libraryDependencies += "tv.cntt" %% "xitrum-hazelcast2" % "1.14.0" libraryDependencies += "com.hazelcast" % "hazelcast" % "2.6.9" libraryDependencies += "com.hazelcast" % "hazelcast-client" % "2.6.9"
Hazelcast 3:
libraryDependencies += "tv.cntt" %% "xitrum-hazelcast3" % "1.14.0" libraryDependencies += "com.hazelcast" % "hazelcast" % "3.7.5" libraryDependencies += "com.hazelcast" % "hazelcast-client" % "3.7.5"
You can use Hazelcast for Xitrum cache or Xitrum session store.
To use Hazelcast as the cache engine in your Xitrum project, edit xitrum.conf:
xitrum { ... # clusterMember: hazelcast_cluster_member.xml is used # javaClient: hazelcast_java_client.properties is used hazelcastMode = clusterMember cache = xitrum.hazelcast.Cache ... }
To use Hazelcast as the session store in your Xitrum project, edit xitrum.conf:
xitrum { ... # clusterMember: hazelcast_cluster_member.xml is used # javaClient: hazelcast_java_client.properties is used hazelcastMode = clusterMember session { store = xitrum.hazelcast.Session ... } ... }
Above is the config for Xitrum. This section instructs about configuring Hazelcast itself.
In the config directory, there are 2 sample config files:
- hazelcast_cluster_member.xml: Use if you use Hazelcast cluster member mode
- hazelcast_java_client.properties (Hazelcast 2) or hazelcast_java_client (Hazelcast 3): Use if you use Hazelcast Java client mode
Copy the file that you need to the config directory of your Xitrum project.
Xitrum instances in the same cluster should have the same <group>/<name>
.
Hazelcast provides a tool to easily
monitor your cluster.
Hazelcast 2.x supports 3 modes: cluster member, lite member, and native client. But because "lite member" mode is removed in Hazelcast 3.x, xitrum-hazelcast only supports cluster member and Java client modes. Read Hazelcast doc to know more about the modes above and how to configure them.
You may want to add this line to file config/logback.xml in your Xitrum project, to avoid noisy Hazelcast log:
<logger name="com.hazelcast" level="INFO"/>