/hazelcast-documentation/src/main/docbook/manual/content/misc/ReleaseNotes.xml
https://bitbucket.org/gabral6_gmailcom/hazelcast · XML · 955 lines · 915 code · 25 blank · 15 comment · 0 complexity · 120982916313fa39e9e1b8f826cbb254 MD5 · raw file
- <?xml version='1.0' encoding='UTF-8'?>
- <!--
- ~ Copyright (c) 2008-2013, Hazelcast, Inc. All Rights Reserved.
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
- <sect1 xml:id="ReleaseNotes" version='5.0' xmlns='http://docbook.org/ns/docbook'
- xmlns:xi="http://www.w3.org/2001/XInclude"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://docbook.org/ns/docbook http://www.docbook.org/xml/5.0/xsd/docbook.xsd
- http://www.w3.org/1999/xlink http://www.w3.org/1999/xlink.xsd">
- <title>Release Notes</title>
- <para>Please see,
- <link xlink:href="#Todo">Todo</link>
- page for planned features.
- </para>
- <para>
- <emphasis role="bold">2.5</emphasis>
- <itemizedlist>
- <listitem>
- <para><emphasis role="italic">New Feature:</emphasis>
- Java Client has now 'near-cache' support. See <link xlink:href="#NativeClientNearCache">Near Cache on Java Client</link>
- for additional details.</para>
- </listitem>
- <listitem>
- <para><emphasis role="italic">New Feature:</emphasis>
- Management Center alert system, receive alerts based on custom filters. See
- <link xlink:href="#MC_Alerts">Management Center Alerting System</link>
- for additional details.</para>
- </listitem>
- <listitem>
- <para>Management Center has now better support for Hazelcast cluster running in OSGI environment.</para>
- </listitem>
- <listitem>
- <para>Nodes can be easily shutdown or restarted using Management Center interface.</para>
- </listitem>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=17&state=closed">
- Fixed issues:</link></para>
- <para>377, 386, 389, 392, 394</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.4.1</emphasis>
- <itemizedlist>
- <listitem>
- <para>Added Hibernate 2nd level cache local/invalidation mode.
- See <code>com.hazelcast.hibernate.HazelcastLocalCacheRegionFactory</code>.
- </para>
- </listitem>
- <listitem>
- <para>Added quick clear feature for maps.
- </para>
- </listitem>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=15&state=closed">
- Fixed issues:</link></para>
- <para>304, 308, 312, 315, 321, 322, 323, 328, 331, 333, 334, 337, 338, 339, 347, 349, 351,
- 353, 354, 356, 359, 368</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.4</emphasis>
- <itemizedlist>
- <listitem>
- <para>Client threads is no longer fixed size,
- now on it is going to use internal Hazelcast cached thread pool.
- </para>
- </listitem>
- <listitem>
- <para>Added ability to restrict outbound ports that Hazelcast uses to connect other nodes.
- See <link xlink:href="#OutboundPorts">OutboundPorts</link> documentation.
- </para>
- </listitem>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=15&state=closed">
- Fixed issues:</link></para>
- <para>168, 251, 260, 262, 267, 268, 269, 270, 274, 275, 276, 277, 279, 282, 284, 288, 290, 292, 301</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.3.1</emphasis>
- <itemizedlist>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=13&state=closed">
- Fixed issues:</link></para>
- <para>256, 258</para>
- </listitem>
- <listitem>
- <para>Changed
- <link xlink:href="#hazelcast.partition.migration.interval">
- <code>hazelcast.partition.migration.interval</code>
- </link>
- value from 1 to 0.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>ILock.newCondition()</code> now throws <code>UnsupportedOperationException</code>.
- </para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.3</emphasis>
- <itemizedlist>
- <listitem>
- <para>Changed <link xlink:href="#hazelcast.max.operation.timeout">
- <code>hazelcast.max.operation.timeout</code></link> unit from <emphasis>seconds</emphasis>
- to <emphasis>milliseconds</emphasis>.</para>
- </listitem>
- <listitem>
- <para>Added <link xlink:href="#hazelcast.max.concurrent.operation.limit">
- <code>hazelcast.max.concurrent.operation.limit</code></link> parameter to be able to limit
- number of concurrent operations can be submitted to Hazelcast.</para>
- </listitem>
- <listitem>
- <para>
- Added <link xlink:href="#hazelcast.backup.redo.enabled">
- <code>hazelcast.backup.redo.enabled</code></link> parameter to enable/disable redo for
- backup operations.
- </para>
- </listitem>
- <listitem>
- <para>Added <emphasis>MultiMap and Distributed ExecutorService statistics</emphasis> to
- <link xlink:href="http://hazelcast.com/mancenter.jsp">Management Center</link> application.</para>
- </listitem>
- <listitem>
- <para>
- <code>MigrationListener</code> has now an additional method to receive failed migration events;
- <code>void migrationFailed(MigrationEvent migrationEvent)</code>.
- </para>
- </listitem>
- <listitem>
- <para>
- <code>ItemEvent</code> has now an additional method returning <literal>Member</literal> firing
- that event; <code>public Member getMember()</code>.
- </para>
- </listitem>
- <listitem>
- <para>
- Improved out of memory (OOM) error detection and handling. Now it is possible to register custom hook
- when <code>OutOfMemoryError</code> is thrown.
- See <code>Hazelcast.setOutOfMemoryHandler(OutOfMemoryHandler)</code> and <code>OutOfMemoryHandler</code>
- javadocs for additional details.
- </para>
- </listitem>
- <listitem>
- <para>
- Fixed some issues related to domain name handling and networking/join.
- </para>
- </listitem>
- <listitem>
- <para>
- During cluster merge after a network split-brain, merging side will now fire <code>MERGING</code>
- and <code>MERGED</code> before and after <code>RESTARTING</code> and <code>RESTARTED</code>
- <code>LifecycleEvent</code>s.
- </para>
- </listitem>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=12&state=closed">
- Fixed issues:</link></para>
- <para>167, 182, 188, 209, 217, 218, 220, 222, 223, 225, 226, 227, 228, 229,
- 230, 233, 234, 235, 237, 241, 243, 244, 247, 250</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.2</emphasis>
- <itemizedlist>
- <listitem>
- <para>Improved redo logs and added max call/operation timeout. See configuration properties
- <link xlink:href="#hazelcast.max.operation.timeout"><code>hazelcast.max.operation.timeout</code></link>
- and <link xlink:href="#hazelcast.redo.giveup.threshold"><code>hazelcast.redo.giveup.threshold</code></link>
- </para>
- </listitem>
- <listitem>
- <para>Improved domain name handling; Hazelcast will use defined addresses/domain-names in
- TCP-IP Config as they are, without resolving an IP address.</para>
- </listitem>
- <listitem>
- <para>Added <emphasis>Cluster Health Check</emphasis> to
- <link xlink:href="http://hazelcast.com/mancenter.jsp">Management Center</link> application.</para>
- </listitem>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=5&state=closed">
- Fixed issues:</link></para>
- <para>39, 93, 152, 153, 163, 164, 169</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.1.3</emphasis>
- <itemizedlist>
- <listitem>
- <para>Fixed join and split brain issues. Improved domain name handling.</para>
- </listitem>
- <listitem>
- <para>Fixed host aware partition group when all members are lite but one.</para>
- </listitem>
- <listitem>
- <para>Fixed jmx management service dead-lock issue.</para>
- </listitem>
- <listitem>
- <para>Fixed IMap replace-if-same and and remove-if-same concurrency issues.</para>
- </listitem>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=7&state=closed">Fixed issues:</link></para>
- <para>176, 177, 179, 181, 183, 185, 186, 189, 195, 196, 198</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.1.2</emphasis>
- <itemizedlist>
- <listitem>
- <para>Fixed interruption handling to avoid dead-locks and inconsistency.
- See configuration property <code>hazelcast.force.throw.interrupted.exception</code>
- in <link xlink:href="#ConfigurationProperties">ConfigurationProperties</link> page.</para>
- </listitem>
- <listitem>
- <para>Replaced ExecutorService used by migration process with a custom one.</para>
- </listitem>
- <listitem>
- <para>Fixed ExecutorService a memory leak during executor thread termination.</para>
- </listitem>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=6&state=closed">Fixed issues:</link></para>
- <para>161, 174</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.1.1</emphasis>
- <itemizedlist>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=4&state=closed">Fixed issues:</link></para>
- <para>73, 142, 146, 148, 149, 153, 158, 162, 163, 164</para>
- </listitem>
- <listitem>
- <para><link xlink:href="https://github.com/hazelcast/hazelcast/issues?milestone=3&state=closed">
- Fixed issues from 2.0.4 branch:</link></para>
- <para>96, 98, 131, 132, 135, 140, 166</para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.1</emphasis>
- <itemizedlist>
- <listitem>
- <para><link xlink:href="#IPv6">IPv6 Support</link>: Hazelcast now supports IPv6 addresses seamlessly.
- </para>
- </listitem>
- <listitem>
- <para><link xlink:href="#MapBackup">Async backup support.</link>
- </para>
- </listitem>
- <listitem>
- <para><link xlink:href="#SpringCache">Spring Cache</link> support: Hazelcast can be used as
- <link xlink:href="http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/cache.html">
- Spring Cache
- </link> provider.
- </para>
- </listitem>
- <listitem>
- <para><link xlink:href="#SpringContext">Spring Dependency Injection</link> support: Hazelcast can apply bean properties
- or to apply factory callbacks such as <code>ApplicationContextAware</code>, <code>BeanNameAware</code>
- or to apply bean post-processing such as <code>InitializingBean</code>, <code>@PostConstruct</code> like annotations
- while using Hazelcast distributed <code>ExecutorService</code> or <code>DistributedTask</code>s or more
- generally any Hazelcast managed object.
- </para>
- </listitem>
- <listitem>
- <para>Persistence support with Spring-Data <link xlink:href="#SpringMongoDB">MongoDB</link>
- and <link xlink:href="#SpringJPA">JPA</link> integration.
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>Member.getUuid()</literal> will return UUID for node.
- </para>
- </listitem>
- <listitem>
- <para><link xlink:href="#HttpSessionClustering">Improved session clustering configuration.</link>
- </para>
- </listitem>
- <listitem>
- <para>Fixed issues:
- <itemizedlist>
- <listitem>
- <para> <link xlink:href="http://code.google.com/p/hazelcast/issues/list">Google Code</link></para>
- <para>809, 811, 816, 818</para>
- </listitem>
- <listitem>
- <para> <link xlink:href="https://github.com/hazelcast/hazelcast/issues">Github</link></para>
- <para>6, 7, 92, 98, 99, 101, 102, 103, 104, 108, 109, 110, 114, 116, 117, 118, 119, 120, 126, 127, 128,
- 130, 131, 132, 134, 135</para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">2.0</emphasis>
- <itemizedlist>
- <listitem>
- <para>New Elastic Memory<superscript>(Enterprise Edition Only)</superscript>: By default, Hazelcast
- stores your distributed data (map entries, queue items) into Java heap which is subject to garbage
- collection. As your heap gets bigger, garbage collection might cause your application to pause tens
- of seconds, badly effecting your application performance and response times. Elastic Memory is
- Hazelcast with off-heap memory storage to avoid GC pauses. Even if you have terabytes of cache
- in-memory with lots of updates, GC will have almost no effect; resulting in more predictable latency
- and throughput.
- </para>
- </listitem>
- <listitem>
- <para>Security Framework<superscript>(Enterprise Edition Only)</superscript>: Hazelcast Security is JAAS
- based pluggable security framework which can be used to authenticate both cluster members and
- clients and do access control checks on client operations. With the security framework, take control
- of who can be part of the cluster or connect as client and which operations are allowed or not.
- </para>
- </listitem>
- <listitem>
- <para>Native C# Client<superscript>(Enterprise Edition Only)</superscript>: Just like our Native Java
- Client, it supports all map, multimap, queue, topic operations including listeners and queries.
- </para>
- </listitem>
- <listitem>
- <para>Distributed Backups: Data owned by a member will be evenly backed up by all the other members. In
- other word, every member takes equal responsibility to backup every other node. This leads to better
- memory usage and less influence in the cluster when you add/remove nodes. The new backup system
- makes it possible to form backup-groups so that you can have backups and owners fall into different
- groups.
- </para>
- </listitem>
- <listitem>
- <para>Parallel IO: Number of socket selector threads can be configured. You can have more IO threads, if
- you have good number of CPU/cores and high-throughput network.
- </para>
- </listitem>
- <listitem>
- <para>Connection Management: Hazelcast 2.0 is more tolerant to connection failures. On connection
- failure it tries to repair it
- before declaring the member as dead. So now it is ok to have short socket disconnections… No problem
- if your virtual server migrates to a new host.
- </para>
- </listitem>
- <listitem>
- <para>Listeners such as migration, membership and map indexes can be added with configuration.</para>
- </listitem>
- <listitem>
- <para>New Event Objects: Event Listeners for Queue/List/Set/Topic were delivering the item itself on
- event methods. That’s
- why the items had to be deserialized by Hazelcast Threads before invoking the listeners. Sometimes
- this was causing class loader problems too. With 2.0, we have introduced new event containers for
- Queue/List/Set and Topic just like Map has EntryEvent. The new listeners now receive ItemEvent and
- Message objects respectively. The actual items are deserialized only if you call the appropriate get
- method on the event objects. This is where we brake the compatibility with the older versions of
- Hazelcast.
- </para>
- </listitem>
- <listitem>
- <para>ClientConfig API: We had too many of factory methods to instantiate a HazelcastClient. Now all we
- need is<literal>HazelcastClient.newHazelcastClient(ClientConfig)</literal>.
- </para>
- </listitem>
- <listitem>
- <para>SSL communication support among cluster nodes.
- </para>
- </listitem>
- <listitem>
- <para>Distributed MultiMap value collection can be either List or Set.
- </para>
- </listitem>
- <listitem>
- <para>SuperClient is renamed to LiteMember to avoid confusion. Be careful! It is a member, not a
- client.
- </para>
- </listitem>
- <listitem>
- <para>New
- <literal>IMap.set (key, value, ttl, TimeUnit)</literal>
- implementation, which is optimized
- <literal>put(key, value)</literal>
- operation as set doesn’t return the old value.
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>HazelcastInstance.getLifecycleService().kill()</literal>
- will forcefully kill the node. Useful for testing.
- </para>
- </listitem>
- <listitem>
- <para><literal>forceUnlock</literal>, to unlock the locked entry from any node and any thread regardless
- of the owner.
- </para>
- </listitem>
- <listitem>
- <para>Enum type query support..
- <literal>new SqlPredicate (“level = Level.WARNING”)</literal>
- for example
- </para>
- </listitem>
- <listitem>
- <para>Fixed issues: 430, 459, 471, 567, 574, 582, 629, 632, 646, 666, 686, 669, 690, 692, 693, 695, 698,
- 705, 708,
- 710, 711, 712, 713, 714, 715, 719 , 721, 722, 724, 727, 728, 729, 730, 731, 732, 733, 735, 738, 739,
- 740, 741, 742, 747,
- 751, 752, 754, 756, 758, 759, 760, 761, 765, 767, 770, 773, 779, 781, 782, 783, 787, 790, 795, 796
- </para>
- </listitem>
- </itemizedlist>
- </para>
- <para>
- <emphasis role="bold">1.9.4</emphasis>
- <itemizedlist>
- <listitem>
- <para>New
- <link xlink:href="#WanReplication">WAN Replication</link>
- (synchronization of separate active clusters)
- </para>
- </listitem>
- <listitem>
- <para>New
- <link xlink:href="#DataAffinity">Data Affinity</link>
- (co-location of related entries) feature.
- </para>
- </listitem>
- <listitem>
- <para>New
- <link xlink:href="#EC2AutoDiscovery">EC2 Auto Discovery</link>
- for your Hazelcast cluster
- running on Amazon EC2 platform.
- </para>
- </listitem>
- <listitem>
- <para>New
- <link xlink:href="http://www.hazelcast.com/docs/1.9.4/javadoc/com/hazelcast/core/ICountDownLatch.html">
- Distributed CountDownLatch implementation.
- </link>
- </para>
- </listitem>
- <listitem>
- <para>New
- <link xlink:href="http://www.hazelcast.com/docs/1.9.4/javadoc/com/hazelcast/core/ISemaphore.html">
- Distributed Semaphore implementation.
- </link>
- </para>
- </listitem>
- <listitem>
- <para>Improvement: Distribution contains HTML and PDF documentation besides Javadoc.</para>
- </listitem>
- <listitem>
- <para>Improvement: Better TCP/IP and multicast join support. Handling more edge cases like
- multiple nodes starting at the same time.
- </para>
- </listitem>
- <listitem>
- <para>Improvement: Memcache protocol: Better integration between Java and Memcache clients.
- Put from memcache, get from Java client.
- </para>
- </listitem>
- <listitem>
- <para>Monitoring Tool is removed from the project.</para>
- </listitem>
- <listitem>
- <para>200+ commits 25+ bug fixes and several other enhancements.</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.9.3</emphasis>
- <itemizedlist>
- <listitem>
- <para>Re-implementation of distributed queue.
- <itemizedlist>
- <listitem>
- <para>Configurable backup-count and synchronous backup.</para>
- </listitem>
- <listitem>
- <para>Persistence support based on backing MapStore</para>
- </listitem>
- <listitem>
- <para>Auto-recovery from backing MapStore on startup.</para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- <listitem>
- <para>Re-implementation of distributed list supporting index based operations.
- </para>
- </listitem>
- <listitem>
- <para>New distributed semaphore implementation.</para>
- </listitem>
- <listitem>
- <para>Optimized
- <literal>IMap.putAll</literal>
- for much faster bulk writes.
- </para>
- </listitem>
- <listitem>
- <para>New
- <literal>IMap.getAll</literal>
- for bulk reads which is calling
- <literal>MapLoader.loadAll</literal>
- if necessary.
- </para>
- </listitem>
- <listitem>
- <para>New
- <literal>IMap.tryLockAndGet</literal>
- and
- <literal>IMap.putAndUnlock</literal>
- API
- </para>
- </listitem>
- <listitem>
- <para>New
- <literal>IMap.putTransient</literal>
- API for storing only in-memory.
- </para>
- </listitem>
- <listitem>
- <para>New
- <literal>IMap.addLocalEntryListener()</literal>
- for listening locally
- owned entry events.
- </para>
- </listitem>
- <listitem>
- <para>New
- <literal>IMap.flush()</literal>
- for flushing the dirty entries into
- MapStore.
- </para>
- </listitem>
- <listitem>
- <para>New
- <literal>MapLoader.getAllKeys</literal>
- API for auto-pre-populating the
- map when cluster starts.
- </para>
- </listitem>
- <listitem>
- <para>Support for min. initial cluster size to enable equally partitioned start.
- </para>
- </listitem>
- <listitem>
- <para>Graceful shutdown.</para>
- </listitem>
- <listitem>
- <para>Faster dead-member detection.</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.9</emphasis>
- <itemizedlist>
- <listitem>
- <para>Memcache interface support. Memcache clients written in any language can
- access Hazelcast cluster.
- </para>
- </listitem>
- <listitem>
- <para>RESTful access support.
- <code>http://<ip>:5701/hazelcast/rest/maps/mymap/key1</code>
- </para>
- </listitem>
- <listitem>
- <para>Split-brain (network partitioning) handling</para>
- </listitem>
- <listitem>
- <para>New LifecycleService API to restart, pause Hazelcast instances and listen for
- the lifecycle events.
- </para>
- </listitem>
- <listitem>
- <para>New asynchronous put and get support for IMap via IMap.asyncPut() and
- IMap.asyncGet()
- </para>
- </listitem>
- <listitem>
- <para>New AtomicNumber API; distributed implementation of
- java.util.concurrent.atomic.AtomicLong
- </para>
- </listitem>
- <listitem>
- <para>So many bug fixes.</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.8.4</emphasis>
- <itemizedlist>
- <listitem>
- <para>Significant performance gain for multi-core servers. Higher CPU utilization
- and lower latency.
- </para>
- </listitem>
- <listitem>
- <para>Reduced the cost of map entries by 50%.</para>
- </listitem>
- <listitem>
- <para>Better thread management. No more idle threads.</para>
- </listitem>
- <listitem>
- <para>Queue Statistics API and the queue statistics panel on the Monitoring Tool.
- </para>
- </listitem>
- <listitem>
- <para>Monitoring Tool enhancements. More responsive and robust.</para>
- </listitem>
- <listitem>
- <para>Distribution contains hazelcast-all-<version>.jar to simplify jar
- dependency.
- </para>
- </listitem>
- <listitem>
- <para>So many bug fixes.</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.8.3</emphasis>
- <itemizedlist>
- <listitem>
- <para>Bug fixes</para>
- </listitem>
- <listitem>
- <para>Sorted index optimization for map queries.</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.8.2</emphasis>
- <itemizedlist>
- <listitem>
- <para>A major bug fix</para>
- </listitem>
- <listitem>
- <para>Minor optimizations</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.8.1</emphasis>
- <itemizedlist>
- <listitem>
- <para>Hazelcast Cluster Monitoring Tool (see the hazelcast-monitor-1.8.1.war in the
- distro)
- </para>
- </listitem>
- <listitem>
- <para>New Partition API. Partition and key owner, migration listeners.</para>
- </listitem>
- <listitem>
- <para>New IMap.lockMap() API.</para>
- </listitem>
- <listitem>
- <para>New Multicast+TCP/IP join feature. Try multicast first, if not found, try
- tcp/ip.
- </para>
- </listitem>
- <listitem>
- <para>New Hazelcast.getExecutorService(name) API. Have separate named
- ExecutorServices. Do not let your big tasks blocking your small ones.
- </para>
- </listitem>
- <listitem>
- <para>New Logging API. Build your own logging. or simply use Log4j or get logs as
- LogEvents.
- </para>
- </listitem>
- <listitem>
- <para>New MapStatistics API. Get statistics for your Map operations and entries.
- </para>
- </listitem>
- <listitem>
- <para>HazelcastClient automatically updates the member list. no need to pass all
- members.
- </para>
- </listitem>
- <listitem>
- <para>Ability to start the cluster members evenly partitioned. so no migration.
- </para>
- </listitem>
- <listitem>
- <para>So many bug fixes and enhancements.</para>
- </listitem>
- <listitem>
- <para>There are some minor Config API change. Just make sure to re-compile.</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.8</emphasis>
- <itemizedlist>
- <listitem>
- <para>Java clients for accessing the cluster remotely. (C# is next)</para>
- </listitem>
- <listitem>
- <para>Distributed Query for maps. Both Criteria API and SQL support.</para>
- </listitem>
- <listitem>
- <para>Near cache for distributed maps.</para>
- </listitem>
- <listitem>
- <para>TTL (time-to-live) for each individual map entry.</para>
- </listitem>
- <listitem>
- <para>IMap.put(key,value, ttl, timeunit)</para>
- </listitem>
- <listitem>
- <para>IMap.putIfAbsent(key,value, ttl, timeunit)</para>
- </listitem>
- <listitem>
- <para>Many bug fixes.</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.7.1</emphasis>
- <itemizedlist>
- <listitem>
- <para>Multiple Hazelcast members on the same JVM. New
- <literal>HazelcastInstance</literal>
- API.
- </para>
- </listitem>
- <listitem>
- <para>Better API based configuration support.</para>
- </listitem>
- <listitem>
- <para>Many performance optimizations. Fastest Hazelcast ever!</para>
- </listitem>
- <listitem>
- <para>Smoother data migration enables better response times during joins.</para>
- </listitem>
- <listitem>
- <para>Many bug fixes.</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.7</emphasis>
- <itemizedlist>
- <listitem>
- <para>Persistence via Loader/Store interface for distributed map.</para>
- </listitem>
- <listitem>
- <para>Socket level encryption. Both symmetric and asymmetric encryption supported.
- </para>
- </listitem>
- <listitem>
- <para>New JMX support. (many thanks to Marco)</para>
- </listitem>
- <listitem>
- <para>New Hibernate second level cache provider (many thanks to Leo)</para>
- </listitem>
- <listitem>
- <para>Instance events for getting notified when a data structure instance (map,
- queue, topic etc.) is created or destroyed.
- </para>
- </listitem>
- <listitem>
- <para>Eviction listener.
- <literal>EntryListener.entryEvicted(EntryEvent)</literal>
- </para>
- </listitem>
- <listitem>
- <para>Fully 'maven'ized.</para>
- </listitem>
- <listitem>
- <para>Modularized...</para>
- </listitem>
- <listitem>
- <para>hazelcast (core library)</para>
- </listitem>
- <listitem>
- <para>hazelcast-wm (http session clustering tool)</para>
- </listitem>
- <listitem>
- <para>hazelcast-ra (JCA adaptor)</para>
- </listitem>
- <listitem>
- <para>hazelcast-hibernate (hibernate cache provider)</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.6</emphasis>
- <itemizedlist>
- <listitem>
- <para>Support for synchronous backups and configurable backup-count for maps.
- </para>
- </listitem>
- <listitem>
- <para>Eviction support. Timed eviction for queues. LRU, LFU and time based eviction
- for maps.
- </para>
- </listitem>
- <listitem>
- <para>Statistics/history for entries. create/update time, number of hits, cost. see
- <literal>IMap.getMapEntry(key)</literal>
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>MultiMap</literal>
- implementation. similar to google-collections and
- apache-common-collections
- <literal>MultiMap</literal>
- but distributed and
- thread-safe.
- </para>
- </listitem>
- <listitem>
- <para>Being able to
- <literal>destroy()</literal>
- the data structures when not needed
- anymore.
- </para>
- </listitem>
- <listitem>
- <para>Being able to Hazelcast.shutdown() the local member.</para>
- </listitem>
- <listitem>
- <para>Get the list of all data structure instances
- via<literal>Hazelcast.getInstances()</literal>.
- </para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.5</emphasis>
- <itemizedlist>
- <listitem>
- <para>Major internal refactoring</para>
- </listitem>
- <listitem>
- <para>Full implementation of<literal>java.util.concurrent.BlockingQueue</literal>.
- Now queues can have configurable capacity limits.
- </para>
- </listitem>
- <listitem>
- <para>Super Clients (a.k.a LiteMember): Members with no storage. If
- <literal>-Dhazelcast.super.client=true</literal>
- JVM parameter is set, that
- JVM will join the cluster as a 'super client' which will not be a 'data
- partition' (no data on that node) but will have super fast access to the cluster
- just like any regular member does.
- </para>
- </listitem>
- <listitem>
- <para>Http Session sharing support for Hazelcast Web Manager. Different webapps can
- share the same sessions.
- </para>
- </listitem>
- <listitem>
- <para>Ability to separate clusters by creating groups.
- <link xlink:href="#ConfigGroup">ConfigGroup</link>
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>java.util.logging</literal>
- support.
- </para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.4</emphasis>
- <itemizedlist>
- <listitem>
- <para>Add, remove and update events for queue, map, set and list</para>
- </listitem>
- <listitem>
- <para>Distributed Topic for pub/sub messaging</para>
- </listitem>
- <listitem>
- <para>Integration with J2EE transactions via JCA complaint resource adapter</para>
- </listitem>
- <listitem>
- <para>
- <link xlink:href="#ExecutionCallback">ExecutionCallback</link>
- interface for distributed tasks
- </para>
- </listitem>
- <listitem>
- <para>Cluster-wide unique id generator</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.3</emphasis>
- <itemizedlist>
- <listitem>
- <para>Transactional Distributed Queue, Map, Set and List</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.2</emphasis>
- <itemizedlist>
- <listitem>
- <para>Distributed Executor Service</para>
- </listitem>
- <listitem>
- <para>Multi member executions</para>
- </listitem>
- <listitem>
- <para>Key based execution routing</para>
- </listitem>
- <listitem>
- <para>Task cancellation support</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.1</emphasis>
- <itemizedlist>
- <listitem>
- <para>Session Clustering with Hazelcast Webapp Manager</para>
- </listitem>
- <listitem>
- <para>Full TCP/IP clustering support</para>
- </listitem>
- </itemizedlist>
- <emphasis role="bold">1.0</emphasis>
- <itemizedlist>
- <listitem>
- <para>Distributed implementation of java.util.{Queue,Map,Set,List}</para>
- </listitem>
- <listitem>
- <para>Distributed implementation of java.util.concurrency.Lock</para>
- </listitem>
- <listitem>
- <para>Cluster Membership Events</para>
- </listitem>
- </itemizedlist>
- </para>
- </sect1>