Just a second...

Upgrading from version 6.1 to version 6.2

Consider the following information when upgrading from Diffusion™ version 6.1 to version 6.2.

Upgrading your applications

Server-side components

Recompile all Java™ application components that are deployed to the Diffusion server, such as publishers and 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.

The Java client now supports Java 9, 10 and 11. Java 8 is still required for the server.

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 following locations:
The following table lists API features that have been removed. If you attempt to recompile application code that uses these classes or methods against the version 6.2 APIs, it fails. Rewrite your application code to not include these features.
Table 1. API features removed in version 6.2
API affected Removed feature Suggested alternative
All Record topics Rewrite your application to use either JSON or recordV2 topics
All Single value topics Use string, int64 or double topics as appropriate
All Stateless topics Use an appropriate topic type with the DONT_RETAIN_VALUE topic property enabled
All addTopic methods that use TopicDetails Use methods that take TopicSpecification
All addTopic methods that take an initial value It is no longer possible to add a topic with an initial value. However, the new Update feature allows for dynamic creation of topics that do not exist, which achieves the same effect.
All Creation of routing topics with server side handlers Applications should be changed to provide client side routing topic handlers.
All Other items deprecated at 6.0 Consult 6.0 API documentation for alternatives
Publisher Client send methods These only worked with stateless topics and TopicStreams, which have both been removed
Publisher Other items deprecated at 6.0 Consult 6.0 Publisher API for alternatives
.NET API IClientInfo  
.NET API IPingDetails.RoundTripTime property  
The following table lists API classes and methods that have been deprecated. If your application code uses these classes or methods, consider rewriting your application code to not include these features.
Table 2. API features deprecated in version 6.2
API affected Deprecated feature Suggested alternative
All TopicUpdateControl Use the new TopicUpdate feature.
All Topics.feath methods Use the new fetchRequest
All One-way messaging Use request-response messaging instead
All TopicDetails, RoutingTopicDetails, SlaveTopicDetails Only retained to support the deprecated getTopicDetails method
All Content Only used in deprecated features
All SessionDetails, ClientSummary, ClientLocation Only used by deprecated Authentication Handler interfaces
All SendOptions and ReceiveContext Only used in deprecated one-way messaging methods
All TopicAddFailReason.USER_CODE_ERROR No longer used
.NET, Java, Android and C Clients and Publisher AuthenticationHandler Use the new Authenticator interface
Publisher A number of Publisher API interfaces and methods are deprecated; see release notes Consult the Publisher API documentation for guidance

Change of behavior

All of the Publisher and Topic addTopic methods, other than those that take a TopicData parameter have now been deprecated. For backwards compatibility, those methods that did not specify the type of TopicData (which would have previously created a topic of the stateless topic type) will now create a binary topic with its DONT_RETAIN_VALUE property set to true.

Also, where a topic is created that leads to the creation of intermediate topics, then intermediate binary topics will also be created. This differs from topics created by the client API where intermediate nodes would be unbound (that is, have no topic).

For reasons of backwards compatibility with other Publisher API interfaces, it is not possible to create unbound nodes using the Publisher API. For maximum efficiency, use the client API to create topics instead of the Publisher API.

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 no longer valid. Remove them from your configuration files:
    • Connectors.xml: remove connector.type and connector.policy-file elements
    • Publishers.xml: remove publisher.topics, publisher.topic-aliasing, publisher.ack-timeout, publisher.auto-ack elements
    • Replication.xml: remove enabled attribute and topics.topicPath element
    • Server.xml: remove log-message-data and conflation elements
    • WebServer.xml: remove comet-bytes-before-new-poll and comet-initial-message-padding elements

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

    • ConnectionValidationPolicy.xml: remove policy.automatic attribute
    • Server.xml: default-load-message-capacity and default-delta-message-capacity elements.
    • Statistics.xml: publisher-statistics element and enabled, client-statistics.enabled and topic-statistics.enabled attributes.

Behavior changes at the Diffusion server

The topic tree is now sorted into lexical path name order. Previously topics were stored in the topic tree in creation order within parent node. If your application relies on topics being ordered by creation time, you may need to adjust your application.