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.diffusiondata.com/docs/6.11.2/ReleaseNotice.html
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. |
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
- Use the graphical or headless installer to install the new version of
Diffusion
.
For more information, see Installing the Diffusion server.
- Contact DiffusionData for an updated license file.
- 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.