Platform SDK for Java Release Notes
|Release Date||Release Type||Restrictions||AIX||HP-UX PA||HP-UX IPF||Linux||Solaris||Windows|
New in This Release
There are no restrictions for this release. This section describes new features that were introduced in this release of Platform SDK for Java.
- Support for Java 8 - Platform SDK now supports Java 8.
- Extended List of Managed Connection Configuration Options - Dynamic update support was added to more protocol configuration options.
- Configuration Server Single Sign-On - Platform SDK now supports the Single Sign-On implementation for Configuration Server, based on Kerberos. This allows users to authenticate seamlessly on Platform SDK applications.
- Configuration Server Localized Values - Platform SDK now detects Configuration Server multi-language mode and includes protocol elements that support localized object names and option values in Configuration Server, allowing applications to make use of the localized configuration data.
- Selective Logging of Protocol Messages - Protocols can now be configured to selectively log messages based on message attributes. Simple configuration options have been defined for use in Configuration Server, by connecting with the Application Template Application Block.
Note: This feature is targeted mainly at server applications which require granular logging settings for production environments.
- Specific Logger Names for Logging Protocol Messages - Logger names for protocol and ADDP messages have been changed to follow standard logging conventions and be implementation independent.
- Deprecated Application Blocks (Message Broker and Protocol Manager) - These Application Blocks were deprecated in previous releases of Platform SDK and must not be used for new development. Existing applications should consider removing them or adopting the full source code, which is available. Additionally, the Configuration Object Model (COM) Application Block no longer uses the Message Broker Application Block.
- Improved Exceptions on Open and Close Operations - More descriptive exceptions and detailed documentation have been introduced for the open and close protocol operations, allowing you to apply better error handling strategies in Platform SDK applications. All changes introduced are backwards compatible; newly-introduced exceptions are subclasses of the exceptions previously thrown. Most exception messages have been kept identical, although this is not guaranteed in all cases.
- Friendly Reaction to Unsupported Messages - Platform SDK applications can now receive newly-introduced, unsupported messages and attributes. Previously, unsupported messages and attributes only raised protocol error events or log warnings.
This allows Platform SDK applications to incorporate the latest server features without needing to wait for a new release of Platform SDK or when upgrading Platform SDK is problematic.
- Improved Configuration Protocol Performance - The Configuration Server Protocol and Configuration Object Model (COM) Application Block have been improved in Java, in order to reduce memory footprint and increase speed.
- New Interaction Server Protocol Messages - The Interaction Server Protocol includes new messages, defined by the latest Interaction Server releases. In particular, RequestCancelInvite allows you to cancel an offered transfer or conference, and RequestAgentState allows you to obtain an agent state after reconnecting.
- Asynchronicity of Protocol Procedures - Internal protocol mechanisms have been enhanced to be more asynchronous and less blocking, improving the responsiveness of Platform SDK applications. This includes the handshaking, closing, and DNS lookup procedures.
- Retired Components:
- Deprecated Packaged Statistics Protocol - All Platform SDK applications should use the current implementation of the Stat Protocol.
- URS Protocol - This protocol has been reserved for internal purposes only.
- Switch Policy Library - This library has been reserved for internal purposes only.
- DB Server Protocol - This protocol has been retired, as the DB Server component has been retired.
Corrections and Modifications
This release also includes the following corrections or modifications:
Platform SDK now sets the default version for the javax.xml.bind.* package. This supports the built-in Java implementation of JAXB in OSGi containers. (PSDK-7209)
Platform SDK now supports private keys in the X.509 format. (PSDK-7144)
By default, the Platform SDK timer now shuts down immediately if there are no unfinished tasks. You can specify the delay (in milliseconds) before the timer shuts down by setting the com.genesyslab.platform.commons.timer.shutdownDelay system property to an integer value. Previously, there was a short delay before shutting down. (PSDK-7126)
Platform SDK no longer throws a NullPointerException during Platform SDK timer shutdown. Previously, there was a small possibility that this could happen. (PSDK-7096)
Platform SDK can now read two-byte length values in AttributeListCodec. (PSDK-7066, PSDK-7068)
As part of the protocol message, Platform SDK now extends the COM Application Block CfgEvent notification with a property that represents the unsolicited Event ID received from the server. (PSDK-7065)
Platform SDK now includes extended TLS support, allowing you to specify which version of TLS to use from the following locations:
- TLSConfiguration class
- SSLContextHelper and TLSConfigurationHelper classes
- the com.genesyslab.platform.commons.connection.tlsDefaultVersion system property
- ConnectionConfiguration class
(PSDK-7006, PSDK-7009, PSDK-7010, PSDK-7012)
Platform SDK now lets you change the logger factory after a protocol is opened. (PSDK-6984)
Configuration SDK no longer includes Configuration Information XML data without the Configuration Protocol namespace declaration. (PSDK-6960)
The ChannelClosedEvent has been extended with the hasUnsentBytes() method, which indicates whether any unsent bytes remain. (PSDK-6930)
T-Server High Availability connections have been extended to support client-side port binding for the backup server connection (using the backup-transport-port connection option). (PSDK-6926)
Platform SDK no longer includes the deprecated Mina-based and MUX connection management layers ('connection.jar' packages com.genesyslab.platform.commons.connection.impl.mux and com.genesyslab.platform.commons.connection.impl.mina). (PSDK-6916)
Platform SDK now includes a consolidated location for system properties-based customization options. The new class com.genesyslab.platform.commons.PsdkCustomization exposes enumerations with supported properties, including the ability to configure them with explicit API calls, system properties modification, or using simple properties file. (PSDK-6907)
Platform SDK now overloads the close method with an optional boolean parameter. Setting this parameter to true closes a channel immediately, without waiting for all data to be sent. (PSDK-6762)
To provide more accurate error handling when exchanging messages with server, Platform SDK now includes ChannelClosedOnRequestException. This exception is created when a channel is closed while executing a request method. (PSDK-6669)
Platform SDK now uses the canonical format for the ADDP log, in accordance with official ADDP protocol specifications. (PSDK-6626)
Platform SDK now reduces CPU overhead when receiving many small ADDP packets. (PSDK-6609)
The Application Template Application Block connection configuration helper method now supports the backup port option for backup server client-side port binding. (PSDK-6580)
Platform SDK now more strongly types interface ICfgQuery and the method IConfService.retrieveObject. Platform SDK now declares the method as
<T extends ICfgObject> T IConfService.retrieveObject(ICfgQuery<T>)
<T extends ICfgObject> T IConfService.retrieveObject(ICfgQuery)
The Platform SDK MBeans domain name is extended with an ID to identify and separate Platform SDK instances within the context of the shared JVM MBeanServer. This is helpful when using the application container with multiple applications that use their own Platform SDK versions (or their copy). (PSDK-6284)
Platform SDK has improved its enumerations base class GEnum so that it no longer returns duplicated values in the result of the GEnum.values(Class) method. (PSDK-7182)
Platform SDK has changed its handshake with Stat Server in order to inform Stat Server about extended client capabilities. This allows Stat Server to send extra data to correctly fill in the DnStatusEx structure. (PSDK-7171)
The Message Server protocol has been updated to better support string encoding. (PSDK-6889)
Platform SDK now closes HA connections correctly when the TLS handshake is not completed. Previously, a connection to the backup server could remain open. (PSDK-6698)