Upgrading from previous versions
Changes in Behavior / Syntax
Externalizable
GigaSpaces XAP uses a proprietary serialization mechanism to transfer data efficiently. In previous versions, using a POJO which implements Java’s Externalizable
forced XAP to use the user-defined Externalizable
serialization instead.
As time passed, XAP’s built-in serialization has been improved and fine-tuned, and experience from support cases shows that user-defined Externalizable
implementations are often less efficient, in comparison, or provide nearly-equivalent performance.
On the other hand, maintaining Externalizable
support is slowing down the development of new features. As a result, we’ve deprecated this behaviour when we released XAP 9.0
It’s now time to take the next step in the End-Of-Life cycle: starting XAP 10.0, the default behaviour is to ignore Externalizable
and serialize Externalizable
POJOs same as plain ones.
If you’re upgrading from a previous version and are using Externalizable
POJOs, you’ll probably want to verify that there’s no performance penalty as a result of that change. If you do encounter performance problems, you can set
the system property com.gs.transport_protocol.lrmi.serialize-using-externalizable
to true
to revert to the previous behaviour and test if the performance issue is resolved. Please note that this system property it only meant
to aid for investigating these issues and will be removed in future versions, when Externalizable
support will reach end of life.
.NET 2.0 support
In previous versions we’ve released XAP.NET for .NET 2.0 and 4.0. Since the vast majority of our customers have already moved to .NET 3.5 (or later), and supporting .NET 2.0 is becoming harder (e.g. complicates our LINQ support), we’ve decided to release XAP.NET 10.0 for .NET 3.5 instead of 2.0, assuming most users have installed 3.5 anyhow (the latest service pack for 2.0 is actually 3.5 SP1).
If you’re upgrading from a previous XAP.NET version and cannot upgrade to .NET 4.0, we suggest you upgrade to .NET 3.5. If that’s not an option, please contact support for assistance.
Removed APIs
The following APIs have been deprecated in previous versions and removed in 10.0:
IServerAdmin.GetTypeDescriptor
ISpaceProxy.CreateLocalView
NoWriteLease
SpaceClassAttribute.Fifo
data event sessions with transactions
local transaction manager in XAP.NET
non-generic SQLQuery in XAP.NET
Clean operation in .NET
Shutting down a space from a remote proxy
IRemoteJSpaceAdmin.start/stop/restart() operations