Just a second...

Upgrading from version 6.3 to version 6.4

Consider the following information when upgrading from Diffusion™ version 6.3 to version 6.4.

Upgrading your applications

Server-side components

Recompile all Java™ application components that are deployed to the Diffusion server, such authorization handlers, against the new version diffusion.jar file. This file is located in the lib directory of your new Diffusion server installation.

The server now supports Java 11 as well as Java 8. See System requirements for the Diffusion server for further details.

Some features that your Java application components might use have been removed or deprecated. Pay attention to new deprecation warnings and compilation failures that occur during recompilation and review the API changes information in the following section to see if these changes affect your applications.

Clients

You can choose not to recompile your client applications and continue to use client libraries from a previous release. If you choose to use client libraries from a previous release, ensure that the libraries are compatible with the new server. For more information, see Interoperability.

You can choose to upgrade your client applications to use the new client libraries. To do this, recompile the client applications against the client libraries located in the clients directory of your new Diffusion server installation and repackage your client application with the new library.

Your client applications may use features that have been removed or deprecated. Review the API changes information in the following section to see if these changes affect your applications.

API changes

Further information about removed or deprecated features is available in the release notes provided online at http://docs.pushtechnology.com/docs/6.8.5/ReleaseNotice.html

The following table lists features that have been deprecated. If your application code uses these classes or methods, consider rewriting your application code to not include these features.
Table 1. API features deprecated in version 6.4
API affected Deprecated feature Suggested alternative
Most clients MissingTopicNotification.cancel Use the new fetch API; the legacy fetch mechanism is deprecated.
.NET TopicSelectors and methods that accept them Use strings where a TopicSelector is required as an argument.
Publisher API Publishers and the Publisher API are now deprecated Use clients instead.
Logging The built-in logging implementation, referred to as "default logging framework" in earlier versions and configured with etc/Logs.xml, is no longer the default. Log4j2
Slave topics Slave topics are now deprecated. Use topic views instead.
The following table lists API classes and methods that have been removed. If your application code uses these classes or methods, consider rewriting your application code to not include these features.
Table 2. API features removed in version 6.4
API affected Removed feature Suggested alternative
.NET Topics.GetTopicDetails removed  
.NET MissingTopicNotification.cancel removed  
Server MBean setQueueDefinition()  

Change of behavior

The installer has been rewritten for this release. The new installer is based on the third party izpack framework. The installation options have been simplified. In previous releases, both the installer and a separate product distribution jar file were required. In this release, there is a single installer file that should be run using Java: java -jar diffusion-installer-6.4.0.jar

Upgrading your server installation

To upgrade your Diffusion server installation, complete the following steps:
  1. Use the graphical or headless installer to install the new version of Diffusion.

    For more information, see Installing the Diffusion server.

  2. Contact Push Technology for an updated license file.
  3. You can copy most of your existing configuration files from the etc directory of your previous installation to the etc directory of your new installation.

    The following configuration items are now deprecated. Consider removing them from your configuration files.

    • Logs.xml: Log4J2 is now the default logging implementation; all Logs.xml settings but default log directory and console monitored log are ignored on a default install.

Behavior changes at the Diffusion server

In previous releases, automatic topic removal (via the REMOVAL topic property) did not take into account sessions (or subscribers) at secondary (or downstream) fan-out servers and was therefore of limited use in such situations. From this release all sessions and subscriptions at downstream fan-out servers are taken into account when evaluation topic removal conditions.

The COMPRESSION topic property now accepts the values "off", "low", "medium" and "high", and the default if no level is set is now "low". The previous values were "false" (equivalent to "off") and "true" (equivalent to "medium") with "true" as the default. As a result, for topics where no COMPRESSION value has been set, the compression level used will be reduced from medium to low when upgrading to 6.4.