Spotfire Server and Environment - Quick Start

Creating scheduled updates by using TIBCO EMS

You can create scheduled updates that are triggered by messages from TIBCO Enterprise Message Service (EMS). In Spotfire Server, the external updates configuration takes place in the server, and the updates are sent to the server. Spotfire Server then sends the updates to the appropriate web player services.

Before you begin

  • EMS version 10.2 or higher is installed on a computer.
  • The following files, which are located in your TIBCO EMS installation in the lib folder, must be copied to the Spotfire Server classpath (<installation.directory>/tomcat/custom-ext) on the server computer. If your implementation is clustered, the files must be copied to each computer in the cluster. If your implementation includes sites, the files must be copied to each server in the sites that will receive scheduled updates via EMS.
    • jakarta.jms-api-3.0.0.jar
    • jakarta.jms-tibjms.jar
Note: TIBCO EMS provides both the Java EE and the Jakarta EE product versions. Scheduled updates for Spotfire Server require that you use the Jakarta EE jar.

Procedure

  1. On the Spotfire Server command line, use the config-external-scheduled-updates command to configure the server to accept the EMS messages. (For details on using the Spotfire command line, see Executing commands on the command line.) Include the following parameters:
    • Set the ems-enabled value to "true".
    • Set the server and port to the computer and port on which EMS is currently running. Use this configuration:
      <server-url>tcp://localhost:7222,tcp://localhost:7222</server-url>

      This enables the reconnect parameters. For more information about this value, see "Fault Tolerance" in the TIBCO EMS documentation.

    • Set the client-id value to indicate which server or site will handle the scheduled updates:
      • If your Spotfire implementation includes a clustered server deployment (but not sites), set the client-id to a unique value in the cluster. In this case, the first server to connect to EMS will handle all the scheduled updates received via EMS.
      • If your Spotfire implementation includes sites, each site that will receive scheduled updates via EMS must have its own client-id.
    Command example
    config config-external-scheduled-updates -e true -s tcp://localhost:7222 -i clientId1 -t scheduled_updates -S "first site"
    
    Example of the resulting section in the server configuration file (configuration.xml):
    </external-updates>
        <external-updates site="first site" operation="override">
          <ems-enabled>true</ems-enabled>
          <server-url>tcp://localhost:7222</server-url>
          <client-id>clientId1</client-id>
          <topic>scheduled_updates</topic>
          <reconnect-attempt-count>10</reconnect-attempt-count>
          <reconnect-attempt-delay-milliseconds>1000</reconnect-attempt-delay-milliseconds>
          <reconnect-attempt-timeout-milliseconds>1000</reconnect-attempt-timeout-milliseconds>
          <keep-alive-minutes>10</keep-alive-minutes>
        </external-updates>
  2. In EMS, create a MAP message. Include the following parameters:
    • Path (required)
    • ClientUpdate
    • KeepAliveMinutes
    • ResourcePoolName
    Note: If the referenced file matches an enabled rule that specifies a resource pool value, then any supplied resource pool value is ignored and the rule resource pool value is used.
    Note: For the ClientUpdate parameter, the value (manual or automatic) that is defined in the external rule takes precedence. If the external update does not specify a value, or if the specified value is invalid, the value from an enabled rule is used, if available.
  3. Send the EMS request. For details, see the TIBCO EMS documentation.