GigaSpaces 6.0.1 Release Notes

  General Resources

API Docs
Forum
Downloads
White Papers
gigaspaces.com     

                                               

Summary: New features and important changes in GigaSpaces 6.0.1 (build 1903).

Overview

This list includes features, improvements, and important changes since GigaSpaces 6.0 G.A (build 1855).

See the list of fixed issues and known issues in GigaSpaces 6.0.1.

For instructions and best practices for tuning large-scale deployments, click here.

Configuration, Jini Services, and Tools

  • The CLASSPATH variable is now appended to the space classpath if it exists in the gsInstance/gs-ui scripts.
  • Reggie and Mahalo can now be loaded with different JAR location (simplifies use of GigaSpaces in Maven).
  • It is now possible to inject a replication filter into the space. For example:
    IReplicationFilter myFilter = new MyFilter();
    
    // creates provider with the same filter for both input and output
    ReplicationFilterProvider provider = new ReplicationFilterProvider(myFilter, myFilter);
    
    Properties props = new Properties();
    props.put(Constants.ReplicationFilter.REPLICATION_FILTER_PROVIDER, provider);
    
    SpaceFinder.find("/./space?cluster_schema=sync_replicated&total_members=2&id=2", props);
  • It is now possible to define a range of ports using the bindPort argument, meaning that every JVM acquires a bind port from a defined port range.
  • The QueryProcessor communication protocol has been changed from NIO to LRMI (as all space operations). This resulted in configuration changes:
    • The QueryProcessorWorker block has been removed from all space schemas.
    • The following properties were also removed from the QueryProcessor block:
      <max_connections>50</max_connections>
      <min_connections>1</min_connections>
      <port>0</port>

      The QueryProcessorWorker is deprecated to avoid ClassNotFound exceptions. This class will be removed in the next release.

JMS

  • The JMSDataFeeder in the OpenSpaces data example now uses the Spring JmsTemplate.
  • JMS-Space Interoperability – JMS message of any type can be written to the space using the space API only, and received using the JMS or space API. In addition, using a MessageConverter, any kind of Entry/POJO can be written to the space using the JMS API, without using the space API.

JCA

  • The JCA API has been modified to support POJOs.

Hibernate

Persistency as a Service (PaaS)

OpenSpaces

  • Setting lookup groups is now possible when using the Jini Transaction Manager:
    <os-core:jini-tx-manager id="transactionManager" lookup-timeout="5000" groups="group1" />
  • Explicit names for filter operations are now supported when using <os-core:space-filter ... />. For example:
    <os-core:space id="space" url="/./spaceSimpleFilter" lookup-groups="${user.name}">
       <os-core:space-filter priority="2">
            <os-core:filter ref="simpleFilter"/>
            <os-core:operation code-name="before-write"/>
            <os-core:operation code="1"/>
            <os-core:operation code="2"/>
            <os-core:operation code="3"/>
       </os-core:space-filter>
    </os-core:space>
  • A task-executor event-listener adapter has been added, allowing you to delegate event-listener execution to a different thread pool.
  • Locking and unlocking is now supported with IMap using the new LockManager class. It is also supported with the GigaMap interface.
  • The RemoteRoutingHandler now returns the routing value instead of setting it in the handler.
  • It is now possible to get an instance ID with OpenSpaces remoting results.
  • Hibernate second-level cache implementations are now provided in OpenSpaces:
    • Non transactional, pure GigaSpaces (uses IMap).
    • Transactional, pure GigaSpaces (uses IMap).
    • OpenSpaces (uses GigaMap).
  • Programmatic configuration of different OpenSpaces components has been simplified.
  • OpenSpaces now supports simpler configuration of GigaSpaces JMS.
  • The Data example has been enhanced to use sync remoting with the broadcast feature.
  • Secured spaces are now supported with OpenSpaces. This feature is not yet available with Local View.
  • Local and Jini Transaction Managers support the LeaseRenewalManager. By default, no LeaseRenewalManager is used.
  • The GSIterator is now exposed using the GigaSpace interface:
    gigaSpace.iterator().withHistory().bufferSize(1000).addTempalte(new Person()).iterate();
  • Spring JARs have been upgraded to 2.0.6 in OpenSpaces and Core.
  • The GSIterator now implements Iterator and Iterable (can be used within foreach statements).

    When used within the foreach statement, the iterator is canceled in the end.
  • A returnFirstResult flag has been added to OpenSpaces sync remoting, allowing you to control whether the first result or all values (without a reducer) are returned. Default value is true.
  • The polling container now supports passing an array receive result directly to the listener, using the passArrayAsIs flag (default is false).
  • Injection of replication filters is now supported in OpenSpaces. The following structure can be used:
    <bean id="simpleFilter" class="org.openspaces.itest.core.space.filter.replication.SimpleReplicationFilter"/>
    
    <os-core:space id="space1" url="/./replicationFilter">
       <os-core:space-replication-filter>
           <os-core:input-filter ref="simpleFilter" />
           <os-core:output-filter ref="simpleFilter" />
           </os-core:space-replication-filter>
       </os-core:space>

    where SimpleReplicationFilter implements IReplicationFilter.

  • The XA/JTA Transaction Manager is now supported when working with OpenSpaces.
  • A new flag has been added, used not to block different receive operation-handlers used with the polling container. This simplifies usage of the the polling container in a clustered space.

Labels

 
(None)