Chapter 3 License Management
There's a distinction between a license file (or string) and a license. When you buy an RTI product, such as RTI Connext Professional, you are licensed to use it.
Within a package, some components may have to be activated using a license file or string, while others may not. For example, when you install the RTI Connext Professional package, the Core Libraries (which you are licensed to use) do not require a license file or string. However, tools like RTI Admin Console (which you are also licensed to use) require a license file.
Some components that do not require a license file in certain packages may require a license file in other packages. For example, the Core Libraries require a license file in the evaluation ("eval") and LM ("lm") packages. If a component in your Connext distribution requires a license file, you will receive one from RTI.
This section describes how to manage a license file. If you have more than one license file from RTI, you can concatenate them into one file. A single license file can be used to run on any architecture and is not node-locked. You are not required to run a license server.
3.1 Installing the License File
Save the license file in any location of your choice; the locations checked by the middleware are listed below.
You can also specify the location of your license file in RTI Launcher's Configuration tab. Then Launcher can copy the license file to the installation directory or to the user workspace.
Each time your Connext application starts, it will look for the license file in the following locations until it finds a valid license:
- In the PropertyQosPolicy of the DomainParticipant, there may be a property called dds.license.license_string. (Only if you have an "eval" or "lm" version of Connext.) The value for this property can be set to the content of a license file. (This may be necessary if a file system is not supported on your platform.) You can set the property either in source code or in an XML file. An XML file example is shown below:
- In the PropertyQosPolicy of the DomainParticipant, there may be a property called dds.license.license_file. (Only if you have an "eval" or "lm" version of Connext.) The value for this property can be set to the location (full path and filename) of a license file. (This may be necessary if a default license location is not feasible and environment variables are not supported.) You can set the property either in source code or in an XML file.
- In the location specified in the environment variable RTI_LICENSE_FILE, which you may set to point to the full path of the license file, including the filename.
- If you are running any of the tools/services as executables via NDDSHOME/bin/<executable script> or through Launcher:
- In your rti_workspace/<version> directory, in a file called rti_license.dat.
- In your rti_workspace directory, in a file called rti_license.dat.
- In <NDDSHOME> (the Connext installation directory), in a file called rti_license.dat.
- If you are running your own application linked with Connext libraries:
- In your current working directory, in a file called rti_license.dat.
- In <NDDSHOME> (the Connext installation directory), in a file called rti_license.dat.
<domain_participant_qos> <property> <value> <element> <name>dds.license.license_string</name> <value>contents of license file</value> </element> </value> </property> </domain_participant_qos>
If the content of the license file is in XML, special characters for XML need to be escaped in the license string. Special characters include: quotation marks (") (replace with "), apostrophes (') (replace with '), greater-than (>) (replace with >), less-than (<) (replace with <), and ampersands (&) (replace with &).
Example XML to set dds.license.license_file:
<domain_participant_qos> <property> <value> <element> <name>dds.license.license_file</name> <value>path to license file</value> </element> </value> </property> </domain_participant_qos>
Note: When you run any of the scripts in the <NDDSHOME>/bin directory, this automatically sets the RTI_LICENSE_FILE environment variable (if it isn't already set) prior to calling the executable. It looks for the license file in two places: your rti_workspace directory and the installation directory (NDDSHOME). (See Chapter 2 Paths Mentioned in Documentation.)
As Connext attempts to locate and read your license file, you may (depending on the terms of the license) see a printed message with details about your license.
If the license file cannot be found or the license has expired, your application may be unable to initialize Connext, depending on the terms of the license. If that is the case, your application’s call to DomainParticipantFactory.create_participant() will return null, preventing communication.
If you have any problems with your license file, please email support@rti.com.
3.2 Adding or Removing License Management
If you are using a package type that requires a license file and your license file changes—for example, you receive a new license for a longer term than your original license—you do not need to reinstall Connext.
However, if you switch from an evaluation ("eval") or LM ("lm") distribution of Connext to a regular distribution, or vice versa, RTI recommends that you first uninstall your original distribution before installing your new distribution. Doing so will prevent you from inadvertently using a mixture of libraries from multiple installations.