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
-
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>
-
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.
-
Send the EMS request. For details, see the
TIBCO EMS documentation.