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.diffusiondata.com/docs/6.11.2/ReleaseNotice.html
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. |
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 DiffusionData 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
- 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 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.
- 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.
- 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.