Consider the following information when upgrading from Diffusion™ version 6.7 to version 6.8.
Before you upgrade
Before upgrading you should backup your current configuration and persisted data files.
The following components are not backwards compatible between 6.7 and 6.8. These should be backed-up
to allow for recovery if a roll-back is required.
- etc/Logs.xml - the default Logs.xml file provided with 6.8 will not work on 6.7 due to the
removal of deprecated elements.
- persistence - persistence files created by 6.8 will not work on 6.7.
Upgrading your applications
- Server-side components
Recompile all Java™ application components that are deployed to the
Diffusion server, such as authorization handlers, against the new version
diffusion.jar file. This file is located in
the lib directory of your new Diffusion server installation.
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.
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,
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
Note that the local install method for the Python client has changed. See the Client basics page for Python for details.
Further information about removed or deprecated features is available in the release notes
provided online at
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
||All members on enum-like types. Affected types are CloseReason, ErrorReason, UnsubscribeReason, UpdateFailReason, and TopicAddFailReason
Upgrading your server installation
To upgrade your Diffusion
server installation, complete the
- Use the graphical or headless installer to install the new version of Diffusion.
For more information, see Installing the Diffusion server.
Contact Push Technology for an updated license
- 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 removed. You should remove them from your configuration files.
- Logs.xml: Log4J2 is now the default logging implementation; all Logs.xml settings except default log directory and console monitored log should be removed.
- Server.xml: remove store-directory. The persistence element must be empty i.e. have no characters or child elements
- Server.xml: remove whois element
The following table lists configuration elements that have
||All Logs.xml settings except default-log-directory and console-monitored-log
Behavior changes at the Diffusion server
The deprecated store-directory item from the persistence element in Server.xsd has been removed along with the corresponding deprecated methods in the PersistenceConfig interface of the server configuration API. Use server persistence-home instead.
Diffusion uses Log4j2 as its default logging library. Previous releases included a legacy logging library, which was deprecated in Diffusion 6.4. The legacy library is no longer supported and has been removed from this release.