Just a second...

Upgrading from version 6.5 to version 6.6

Consider the following information when upgrading from Diffusion™ version 6.5 to version 6.6.

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.

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.6
API affected Deprecated feature Suggested alternative
.NET IStream methods of the SendRequestToFilter IFilteredRequestCallback Use the task returned by SendRequestToFilterAsync to detect errors.
JavaScript Client onError and onClose methods of the sendRequestToFilter FilteredResponseHandler Use the Result returned by sendRequestToFilter to detect errors.
Java & Android Clients SERVER_CLOSING CloseReason in ClientControl This close reason is never sent by the server.
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.6
API affected Removed feature Suggested alternative
All AuthenticationHandler interface Use Authenticator instead.
All TopicEventListener and TopicEventStream interfaces Use REMOVAL topic property to remove topics instead.
All TopicUpdateControl interface Use TopicUpdate instead.
All Legacy fetch API Use the updated fetch API (introduced in version 6.2) instead.
All Slave topics Use topic views instead.
Push Notification Bridge The push notification bridge has been removed. The push notification adapter packaged in previous versions can be used against this release. Please contact Push Technology if you are using the adapter, or need to integrate Diffusion with push notification servers.
ClientServiceConfig compressionThreshold setting This setting has been removed. The efficiency of HTTP polling transport when the client supports 'deflate' compression has been improved so this setting has been ignored since version 6.5.
All session_set_maximum_outbound_queue_size Use diffusion_session_factory_maximum_queue_size instead.
C client Session wills Use automatic topic removal instead.

Hazelcast version change

The version of the built-in Hazelcast datagrid used has been updated from Hazelcast version 3.12 (in Diffusion 6.5) to Hazelcast IMDG version 4.02.

A default configuration file compatible with version 4.02 is provided at etc/hazelcast.xml.

If you have customized your Hazelcast configuration file, you may need to update it to work with 4.02 after copying it into the new installation.

See the Hazelcast™ Reference Manual for more information.

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.
  4. The configuration format for the JMS adapter has changed, and it no longer supports request-response messaging. You will need to convert your existing XML configuration into the new JSON format. See Configuring the JMS adapter for details.

Behavior changes at the Diffusion server

Slave topics are no longer supported by the server. Older clients will no longer be able to create slave topics. Slave topics stored in persistence files will not be restored.

The server will no longer accept connections from Diffusion versions before 6.2.

Support for the SessionDetails-based API features available via version 5.9 clients has now been removed. Release 5.9 clients will no longer be able to use the getSessionDetails and SessionDetailsListener capabilities with a version 6.6 server.

Support for the getTopicDetails service was removed from clients in version 6.4, and has now been removed from the server.

The default license file name is now license.lic. If license.lic is not found, licence.lic will be used if it is present.

Missing topic notification handling has been simplified. Previously, subscription requests would not be processed until the server received a response from the missing topic handler. From this release, subscription requests are processed immediately by the server, without waiting for the handler.
  • The proceed() and cancel() methods of MissingTopicNotification no longer have any effect and are deprecated.
  • A missing topic handler can no longer cancel a subscription. A supported alternative is to use the SubscriptionControl feature to issue a compensating unsubscribe operation.
Topic views now respect the OWNER property when evaluating source topics. As a result, a source topic is now selected for evaluation by a topic view if the principal of the topic view is the same as the owner of the source topic.
  • The OWNER property (if present) is now copied from a source topic to all reference topics that are derived from it.
  • Granting ownership of a source topic also grants ownership of all derived reference topics.
  • Both the topic view principal and the OWNER property (if set) are now treated as owners of a reference topic. This means that the principal of the view which created a reference topic has full access to it, as well as any OWNER principal specified.