1. GemBuilder for Java 3.1.3 Release Notes

GemBuilder for Java (GBJ) version 3.1.3 is a new release of the GemBuilder for Java product. This release adds compatibility with 32-bit GemStone/S, as well as providing several bug fixes.

These release notes provide details of the changes between the previous version of GBJ, version 3.1.2, and this release. Please read through them before installing, to acquaint yourself with the changes.

If you are upgrading from a version earlier than 3.1.2, please refer to the Release Notes for each intermediate release as well. In particular, version 3.0 contained substantial internal redesign and significant changes; and keyfile authorization is now required with GemStone/S 64 Bit.

To install GemBuilder for Java v3.1.3, follow the instructions in the GemBuilder for Java Installation Guide for v3.1.3.

Supported Platforms

Detailed information on supported platforms is provided in the GemBuilder for Java Installation Guide v3.1.3.

GemStone Server Versions

GemBuilder for Java version 3.1.3 is compatible with 32-bit GemStone/S versions 6.7 and above, GemStone/S 64 Bit version 3.2.15 and later 3.2.x versions, and 3.3.1 and above.

GemBuilder for Java v3.1.3 has been tested with the following server versions:

  • GemStone/S 64 Bit v3.3.1
  • GemStone/S 64 Bit v3.2.15
  • GemStone/S (32-bit) v6.7

Supported Platforms

See the GemStone/S 64 Bit or GemStone/S Release Notes for your GemStone server product and version, for the supported OS platforms.

Both the GemStone server and the GBJ clients must run on supported client platforms for your server version. While the GemStone/S 64 Bit server is not available on Windows, you may run GBJ clients on Windows using the GemStone/S 64 Bit Windows client.

Supported Java JDK

GBJ v3.1.3 requires Java version 8. It was built and tested using 1.8.0_102.

Changes and Bugs Fixed

Updated support for 32-bit GemStone/S

This release includes support for 32-bit GemStone/S. GBJ versions 3.0.1 through 3.1.2 supported GemStone/S 64 Bit 3.x only.

Several features that were added in these versions are not available with 32-bit GemStone/S. Specifically, support for Android clients is not available with GemStone/S 32 bit, nor is the GBJ cache statistics interface.

Added environment variable for server version

On the client node, you may now use the added environment variable $GBJ_GSVERSION or %GBJ_GSVERSION%, to compose library names for the target GemStone server version.

The internal library load process has been updated, messages related to library loading have been improved, and the Installation Guide has been revised, so problems during an initial setup and configuration are easier to diagnose.

Handling of Integers larger than java long

A function has been added to return a server Integer value as a java.math.BigInteger:

GbjObject.bigIntegerValue()

When fetching an integer from the server using:

GbjObject.longValue()

if the integer is too large to fit in a java long type, GBJ now triggers a java.lang.ArithmeticException, and you can use GbjObject.bigIntegerValue() to return the value. (#46283).

GBJ corrupts String characters with codePoints larger than 127

String containing characters with codepoints over 127, that is, that require more than 7 bits to represent, may become modified or corrupted when transferring from GBJ to the server; 8-bit range Characters are converted to UTF-8, larger Characters are byte-swapped on little endian platforms. (#30012)

GbjGciPreferences breaks on libgbjgci library load problems

GbjGciPreferences commands attempt to load the $GEMSTONE/lib/libgbjgci* library. If there are library load problems, this caused the GbjGciPreferences command to fail. (#46368)