Just a second...

Upgrading from version 6.7 to version 6.8

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.

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.

Note that the local install method for the Python client has changed. See the Client basics page for Python for details.

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.2/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.8
API affected Deprecated feature Suggested alternative
JavaScript client All members on enum-like types. Affected types are CloseReason, ErrorReason, UnsubscribeReason, UpdateFailReason, and TopicAddFailReason none

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 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 been removed.
Config affected Deprecated element Suggested alternative
Logs.xml All Logs.xml settings except default-log-directory and console-monitored-log Use log4j2.xml
Server.xml store-directory Use persistence-home
Server.xml whois Use geo-ip

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.