License Key Properties Overview

Standard and Professional Editions of the Java Service Wrapper are activated by a set of License Keys. The License Keys are required to be set in the License Key Property included as part of the Wrapper's configuration file.

License key property list

Each type of License Key property is described below in detail (Server License Key, Development License Key).

  • wrapper.license.debug
  • wrapper.license.dev_application
  • wrapper.license.features
  • wrapper.license.host_id
  • wrapper.license.id
  • wrapper.license.key.<n>
  • wrapper.license.lease_term.begin_date
  • wrapper.license.lease_term.end_date
  • wrapper.license.licensee
  • wrapper.license.type
  • wrapper.license.upgrade_term.begin_date
  • wrapper.license.upgrade_term.end_date

Problems?

If you encounter any licensing problems, please set the wrapper.license.debug property and enable include file debugging. In combination, most configuration problems become obvious.

Server License Key property Overview

Server License Keys consist of a set of properties that are placed directly into the configuration file wrapper.conf or included using a cascading configuration file. The license key is tied to a specific HostId.

The HostId of a given server can be obtained by running wrapper -h from within a shell or command prompt in the location of the wrapper binary (usually the bin folder). This will result in the following output:

Example Output:
Java Service Wrapper Professional Edition nn-bit n.n.n
  Copyright (C) 1999-20nn Tanuki Software, Ltd. All Rights Reserved.
    https://wrapper.tanukisoftware.com

The Java Service Wrapper requires a License Key to activate the
software.  Licenses can be purchased on the Java Service Wrapper
web site:
  https://wrapper.tanukisoftware.com/purchase

You can also immediately obtain a one-month Free trial license:
  https://wrapper.tanukisoftware.com/trial

License Keys can be generated for any of the following HostIds:
  HostId #1:   00123456789a
  HostId #2:   00123456789b

You may include license keys for several servers within a single file by
  prefixing the property names of each key with their respective
  server host name or HostId. Please use the following syntax:
  wrapper.<hostname|hostid>.license.*.
  The host name of this machine is: myhost

Any of the HostIds shown can be used to generate the License Key.

Example Server License Key:
wrapper.license.type=NODE
wrapper.license.id=200804010006
wrapper.license.licensee=Acme, Inc.
wrapper.license.host_id=00123456789a
wrapper.license.features=pro, 64bit
wrapper.license.upgrade_term.begin_date=2008-04-01
wrapper.license.upgrade_term.end_date=2024-04-01
wrapper.license.key.1=0222-2e8a-6f6d-4a4a
wrapper.license.key.2=007d-7e3c-5e2a-427e
wrapper.license.key.3=ce16-f5f0-59f4-d18a
wrapper.license.key.4=b6ca-c31a-6be8-323d
  • The value of wrapper.license.type will always be 'NODE' for Server License keys.

  • The value of wrapper.license.id is used to uniquely identify the License Key and will appear on your License Management page.

  • The value of wrapper.license.licensee will be displayed in the console and wrapper.log file whenever the Wrapper is launched. In the case of the License Key above, the Wrapper output will appear as follows:

    Java Service Wrapper Professional Edition nn-bit n.n.n
      Copyright (C) 1999-2023 Tanuki Software, Ltd.  All Rights Reserved.
        https://wrapper.tanukisoftware.org
      Licensed to Acme, Inc.
    
  • The property wrapper.license.host_id identifies the single server on which the Wrapper will be authorized to run.

  • The values in wrapper.license.features are used to describe the bitness and edition of the Wrapper that is authorized. In this case, 64-bit, Professional Edition is authorized. This will also authorize the lower 32-bit and Standard Edition versions of the Wrapper to run.

  • wrapper.license.upgrade_term.begin_date and wrapper.license.upgrade_term.end_date specify the Wrapper release dates that will be authorized by the License Key. The license above will authorize versions of the Java Service Wrapper released prior to 2024-04-01. Wrapper versions released within the specified upgrade term will be authorized to be upgraded and also to run beyond the end of the Upgrade Term.

  • An optional lease term may also appear in some trial License Keys. These specify the dates between which the Wrapper will be authorized to run. Once the lease term has expired, the Wrapper will no longer start up.

  • The properties wrapper.license.key.1-4 are used to validate the rest of the license properties.

NOTE

The License Key property values are specific and the license key will fail to authorize the Wrapper if any of its values are modified in any way.

It is also possible to include the License Keys for multiple servers in a single file by including the host names in the License Key property names. The following example shows a License Key given the host name "myhost". It is possible to change the host name portion of the License Key properties without regenerating the key.

wrapper.myhost.license.type=NODE
wrapper.myhost.license.id=200804010006
wrapper.myhost.license.licensee=Acme, Inc.
wrapper.myhost.license.host_id=00123456789a
wrapper.myhost.license.features=pro, 64bit
wrapper.myhost.license.upgrade_term.begin_date=2008-04-01
wrapper.myhost.license.upgrade_term.end_date=2024-04-01
wrapper.myhost.license.key.1=0222-2e8a-6f6d-4a4a
wrapper.myhost.license.key.2=007d-7e3c-5e2a-427e
wrapper.myhost.license.key.3=ce16-f5f0-59f4-d18a
wrapper.myhost.license.key.4=b6ca-c31a-6be8-323d

Alternatively, starting with Wrapper version 3.3.2, it is possible to use the HostIds themselves within the License Key property names. This makes it possible to define more than one license key, each for a different HostId. An example of where this is needed is a system that uses a load balanced network card where the HostId changes depending on the currently active underlying physical card.

wrapper.00123456789a.license.type=NODE
wrapper.00123456789a.license.id=200804010006
wrapper.00123456789a.license.licensee=Acme, Inc.
wrapper.00123456789a.license.host_id=00123456789a
wrapper.00123456789a.license.features=pro, 64bit
wrapper.00123456789a.license.upgrade_term.begin_date=2008-04-01
wrapper.00123456789a.license.upgrade_term.end_date=2024-04-01
wrapper.00123456789a.license.key.1=0222-2e8a-6f6d-4a4a
wrapper.00123456789a.license.key.2=007d-7e3c-5e2a-427e
wrapper.00123456789a.license.key.3=ce16-f5f0-59f4-d18a
wrapper.00123456789a.license.key.4=b6ca-c31a-6be8-323d

Development License Key property Overview

Development License Keys consist of a set of properties that are placed directly into the configuration file wrapper.conf or included using a cascading configuration file. The License Key is tied to a specific application using the values of the application's main class.

The application's main class is specified using the wrapper.java.mainclass property. If the main class is one of the helper classes included with the Wrapper (org.tanukisoftware.wrapper.WrapperSimpleApp or org.tanukisoftware.wrapper.WrapperStartStopApp), then the main class will be specified using the wrapper.app.parameter.1 property In either case, the license will only authorize the Wrapper if the main class remains unchanged.

Example Development License Key:
wrapper.license.type=DEV
wrapper.license.id=200804010003
wrapper.license.licensee=Acme, Inc.
wrapper.license.dev_application=Acme Control Server
wrapper.license.features=pro, 64bit
wrapper.license.upgrade_term.begin_date=2008-04-01
wrapper.license.upgrade_term.end_date=2024-04-01
wrapper.license.key.1=a0a5-b478-ca71-8d59
wrapper.license.key.2=9296-6f2d-0e58-75e6
wrapper.license.key.3=0f5d-2cf2-ad36-54f9
wrapper.license.key.4=b859-dc75-61d7-b0ca
  • The value of wrapper.license.type will always be 'DEV' for Development License keys.

  • The value of wrapper.license.id is used to uniquely identify the License Key and will appear on your License Management page.

  • The values of wrapper.license.licensee and wrapper.license.dev_application will be displayed in the console and wrapper.log file whenever the Wrapper is launched. In the case of the License Key above, the Wrapper output will appear as follows:

    Java Service Wrapper Professional Edition nn-bit n.n.n
      Copyright (C) 1999-2023 Tanuki Software, Ltd.  All Rights Reserved.
        http://wrapper.tanukisoftware.org
      Licensed to Acme, Inc. for Acme Control Server
    
  • The values in wrapper.license.features are used to describe the specific edition of the Wrapper that is authorized. In this case, the 64-bit, Professional Edition is authorized. This will also authorize the lower edition 32-bit and Standard Edition versions of the Wrapper to run.

  • The wrapper.license.upgrade_term.begin_date and wrapper.license.upgrade_term.end_date properties specify the Wrapper release dates that will be authorized by the License Key. The license above will authorize versions of the Java Service Wrapper released prior to 2024-04-01. Wrapper versions released within the specified upgrade term will be authorized to be upgraded and also to run beyond the end of the upgrade term.

  • An optional lease term may also appear in some trial License Keys. These specify the dates between which the Wrapper will be authorized to run. Once the lease term has expired, the Wrapper will no longer start up.

  • The wrapper.license.key.1-4 properties are used to validate the rest of the license properties.

    Starting with Wrapper version 3.3.6, it is also possible to obfuscate the upgrade term into a 5th key value. This can be useful to avoid showing customers when a software vendor's upgrade term ends. Because the license key's upgrade term is obfuscated, it can of course make it a bit more difficult to support users who are upgrading the Wrapper on their own. When a Wrapper binary that is newer than the upgrade term allows is run, the error message will include the term end date, so this is a minor issue.

    The obfuscated upgrade term feature can be accessed when downloading a new or existing License Key.

Example Development License Key:
wrapper.license.type=DEV
wrapper.license.id=200804010003
wrapper.license.licensee=Acme, Inc.
wrapper.license.dev_application=Acme Control Server
wrapper.license.features=pro, 64bit
wrapper.license.key.0=ada5-ac8d-6f2d-54f9
wrapper.license.key.1=a0a5-b478-ca71-8d59
wrapper.license.key.2=5296-6d2d-0e58-79e6
wrapper.license.key.3=6f5d-acf2-3d36-64f9
wrapper.license.key.4=c859-dcf5-61d7-b8ca

NOTE

The License Key property values are specific and the license key will fail to authorize the Wrapper if any of its values are modified in any way.

License file in Cascading Configuration File

It is often desirable to place the Wrapper License Key properties in a file other than the wrapper.conf. This can be done easily by making use of the "include file" (cascading style) functionality of Configuration files.

It is suggested that the License Key properties be placed in a file called wrapper-license.conf, located in the same directory as the wrapper.conf file. The license file is then included by placing a line like the following at the top of your wrapper.conf file:

#include ../conf/wrapper-license.conf

Note that the include file path is relative to the location of the Wrapper binary and NOT the wrapper.conf file. See the section on Cascading Configuration File ("include file") for further details and advice on how to debug problems with include files.

To make it simple to manage large numbers of license files, the Wrapper can be set up to load in license files based on the host names. This makes it possible to deploy all license files to all servers.

#include ../conf/wrapper-license-%WRAPPER_HOST_NAME%.conf

Problems?

If you encounter any licensing problems, please set the wrapper.license.debug property and enable include file debugging. In combination, most configuration problems become obvious.