public interface LicenseListener
License listener interface tracks how licensed seats (connections) are used. T-Plan Robot Enterprise licensing is based on a maximum number of allowed simultaneous desktop connections. This limit is enforced through the software license key.
To register a listener for the license usage notifications call ApplicationSupport.addLicenseListener(com.tplan.robot.LicenseListener)
.
The licenseStatus(com.tplan.robot.LicenseEvent)
method will be called
immediately to pass the initial information such as the number of total licensed
connections/seats (available through LicenseEvent.getTotalSeats()
) and
currently free ones (LicenseEvent.getFreeSeats()
). The method then gets
called when a connection is pooled or reused (removed from the connection pool).
The remaining two
listener methods of licenseUtilized(com.tplan.robot.LicenseEvent)
and
licenseReleased(com.tplan.robot.LicenseEvent)
will be called asynchronously
when a seat gets utilized (through connection to a desktop) or released
(after disconnection from a client).
For a simple, ready-to-use listener listener see the DefaultLicenseListener
class.
T-Plan Robot Enterprise, (C) 2009-2022 T-Plan Limited. All rights reserved.
Modifier and Type | Method and Description |
---|---|
void |
licenseReleased(LicenseEvent event)
This method gets called when a seat (connection) is released.
|
void |
licenseStatus(LicenseEvent event)
This method has several purposes.
|
void |
licenseUtilized(LicenseEvent event)
This method gets called when a seat (connection) is utilized by a connection
to a desktop.
|
void licenseStatus(LicenseEvent event)
This method has several purposes. First of all it is called immediately
when the listener registers for license notifications through
ApplicationSupport.addLicenseListener(com.tplan.robot.LicenseListener)
with the event type of LicenseEvent.TYPE_STATUS
.
The method then gets called when the status of the desktop clients changes without an immediate impact on the overall license number status. These changes include these type events:
LicenseEvent.TYPE_POOLED
type is fired when a connection is pooled.
Reuse of the connection and its removal from the pool fires a LicenseEvent.TYPE_REUSED
event.
Though these events mean no change to the license status because pooled connections keep holding the license seat,
it is useful for debugging of the pool mechanism. Be aware that this
behavior is subject to configuration and this type of event may be never
fired if this feature is set off. See the RemoteDesktopClientFactory
class
for details on connection pooling.LicenseEvent.TYPE_WAITING
type is fired in a situation
when the number of licenses is already exhausted and the client requesting
a license seat is queued to wait for a released license. Be aware that this
behavior is subject to configuration and this type of event may be never
fired if this feature is set off.event
- license event providing the initial information about the total number
of licensed seats (connections) as well as the free ones.void licenseReleased(LicenseEvent event)
event
- license event with information about license numbers
and a reference to the desktop client which released the seat.void licenseUtilized(LicenseEvent event)
event
- license event with information about license numbers
and a reference to the desktop client which reserved the seat.