SwiftMQ Documentation

SwiftMQ Documentation

  • Client
  • CE
  • UR
  • HA
  • Javadocs
  • Release Notes

›Swiftlets

SwiftMQ Client

  • Getting Started
  • JNDI Client
  • JMS Client
  • AMQP 1.0 Client
  • Filetransfer Client

SwiftMQ CE

  • Getting Started
  • Installation
  • Upgrade
  • Software Architecture
  • Administration

    • Preconfig
    • CLI Command Line Interface
    • JMX Administration
    • CLI Message Interface
    • routerconfig.xml Watch Dog
    • System Properties

    Swiftlets

    • AMQP Swiftlet
    • Authentication Swiftlet
    • Deploy Swiftlet
    • JMS Swiftlet
    • JNDI Swiftlet
    • Log Swiftlet
    • Management Swiftlet
    • MQTT Swiftlet
    • Network Swiftlet
    • Queue Manager Swiftlet
    • Routing Swiftlet
    • Scheduler Swiftlet
    • Store Swiftlet
    • Streams Swiftlet
    • Threadpool Swiftlet
    • Timer Swiftlet
    • Topic Manager Swiftlet
    • Trace Swiftlet
    • XA Resource Manager Swiftlet

    APIs

    • CLI Admin API

    How To

    • TLS Configuration
    • HTTP Tunneling Configuration
    • Upgrade SwiftMQ Router and Clients

    In Depth

    • Versioning
    • File Store

SwiftMQ UR

  • Getting Started
  • License
  • Installation
  • Upgrade
  • Administration

    • SwiftMQ Explorer

    Swiftlets

    • JDBC Authentication Swiftlet
    • FileCache Swiftlet
    • JMS Application Container Swiftlet
    • JMS XA Swiftlet
    • JDBC Store Swiftlet
    • AMQP Bridge Extension Swiftlet
    • JMS Bridge Extension Swiftlet
    • JavaMail Bridge Extension Swiftlet
    • Replicator Extension Swiftlet

SwiftMQ HA

  • Getting Started
  • License
  • Installation
  • Upgrade
  • HA Introduction
  • HA Deployment
  • Administration
  • JNDI/JMS under HA
  • Routing under HA
  • Advanced Configuration
  • HA Test Suite

Timer Swiftlet

The Timer Swiftlet manages internal timers of a SwiftMQ router.

Minimum / Maximum Delay

There are 2 attributes in the Timer Swiftlet's configuration which can be configured.

The first is min-delay. It specifies the number of milliseconds the internal dispatcher has to wait at a minimum before it checks its dispatch queue to fire outstanding timers. This delay is useful to avoid very short delays such as 1 millisecond. These very short delays can have impact on CPU usage so it is recommended to use the default value of 100 milliseconds here. The dispatcher then waits at least this amount of time and fires all outstanding timers at once.

The second attribute is max-delay. It specifies the number of milliseconds the dispatcher waits at a maximum to check its dispatch queue. This delay avoids that the dispatcher waits too long in case the system time has been changed while the router is running, for example, due to summer / winter time changes. The default value is 10 seconds (10000 milliseconds), so the dispatcher checks its dispatch queue at least every 10 seconds for outstanding timers.

System Time Changes

The Timer Swiftlet is able to detect system time changes, e.g. due to NTP synchronization or Summer / Winter time changes.

Definition: The system time has changed a) if the current time is less the previous measured time or b) if the current time is greater than max-delay+1000.

In this case the delta between current and previous time is applied to all timers not marked as absolute timers, the internal timer task queue is reordered, and the following line is written to the info.log:

System time has changed (delta=nnnnn), reordering timer task queue

where nnnnn is a millisecond value.

Configuration

The configuration of the Timer Swiftlet is defined within the element

      <swiftlet name="sys$timer" .../>

of the router's configuration file. One can use the SwiftMQ Exlorer or CLI for configuration as well. They both save into that file.

Attributes of Element "swiftlet"

Definition

Attribute Type Mandatory Description
min-delay java.lang.Long No Minimum Delay
max-delay java.lang.Long No Maximum Delay

Values

Attribute Values
min-delay Min: 0
Default: 100
max-delay Min: 1000
Default: 10000
← Threadpool SwiftletTopic Manager Swiftlet →
  • Minimum / Maximum Delay
  • System Time Changes
  • Configuration
Copyright © 2020 IIT Software GmbH