Deployment
Dispatcher: Deployment Checklist
The code is rarely what costs you time. This is.
Deployment shape
Two supported topologies per the admin guide:
- All local (same host) — Teamcenter, Dispatcher Client, Scheduler and Module together. Right for a first stand-up and for proving a custom translator.
- Distributed — one Scheduler, many Modules across platforms. Necessary when a translator needs native tooling that only runs on a particular OS.
Install via TEM or Deployment Center. The guide covers installing all components, installing while creating a new configuration, and installing during maintenance on an existing one.
The CHANGE_ME inventory
Every one of these ships as a literal placeholder and will fail at runtime if left:
| File | Setting | What it is |
|---|---|---|
Module/Translators/*/*.bat |
TC_ROOT |
Teamcenter install dir. Present in most translator scripts |
Module/Translators/*/*.bat |
PERL_DIR |
Perl bin dir, for the Perl-backed translators |
Module/Translators/*/*.bat |
TCVIS_ROOT |
Teamcenter Visualization install, for JT-producing translators |
DispatcherClient/conf/DispatcherClient.config |
DB_Host, DB_Port, User |
Not used by Teamcenter Engineering. These are Teamcenter Enterprise MUX settings. Leaving them is harmless for TC; the comments say so |
Also empty-by-default and often required:
| File | Setting |
|---|---|
DispatcherClient.config |
Staging.Dir |
transmodule.properties |
Staging.Dir |
transscheduler.properties / transmodule.properties |
MailHost, AdminEmail, CCEmail |
Staging.Dir is the one that actually matters. With HTTP file transfer it can
be empty (the Module defaults to <Module Home>/Trans). With RMI it must be
set on both sides and must map to the same location, because the Module reads
files the Client wrote. The comment gives the mapping example: if the client
writes to d:/Client/staging/<user>/<guid>/<files>, the Module's Staging.Dir
is d:/Client/staging/.
Port and binding agreement
| Setting | Where | Default |
|---|---|---|
Scheduler Port |
transscheduler.properties |
2001 |
Module Scheduler.URL |
transmodule.properties |
rmi://localhost:2001 |
Client DispatcherServer.URL |
DispatcherClient.config |
rmi://localhost:2001 |
Module Port |
transmodule.properties |
1999 |
Client Port |
DispatcherClient.config |
2099 |
BindingName |
all three | DispatcherScheduler |
Change localhost to a real hostname or IP the moment anything is on a
different machine. If localhost does not resolve to the right interface on the
Module host, set Module.Host explicitly.
Post-installation tasks
From the guide's own list:
- Create a dispatcher client access rule.
- Set up the common staging directory for translator input and output.
- Start Dispatcher services.
- For Windows service operation, set the system and environment variables the Dispatcher Client needs.
- Verify the installation by translating a doc to a zip file (
tozipfile, the one active OOTB service).
Optional configuration covered in the same chapter: enabling SSO, updating components for UTF-8, switching a 4-tier client to 2-tier, setting preferences for repeating tasks, and enabling log files for dispatcher requests.
Teamcenter-side preferences
| Preference | Purpose |
|---|---|
DISPATCHER_CLIENT_INSTALLED |
Gates the Translate menu. Must be true |
ETS.PROVIDERS |
Providers offered in the Translation Selection dialog |
ETS.TRANSLATORS.<PROVIDER> |
Services per provider |
ETS.DATASETTYPES.<PROVIDER>.<SERVICE> |
Which dataset types offer this service |
ETS_trans_rqst_referenced_dataset_types |
Dataset types whose requests may be cancelled and primaries deleted mid-translation |
TCM_DISPATCHER_CLIENT_TIMEOUT |
Client timeout |
DISPATCHER_rqst_on_specific_dataset_revision |
Request targeting behavior |
TC_tms_use_dispatcher_for_async_operation |
Multi-Site: route async ops through Dispatcher |
QSEARCH_dispatcher_not_available |
Search behavior when Dispatcher is down |
Import preference bundles with:
preferences_manager -u=<user> -p=<password> -g=dba -mode=import -scope=SITE -action=MERGE -context=Teamcenter -file=<file>.xml
Use -action=override when replacing rather than merging.
Reference bundles ship in DispatcherClient/install/: basic_env.xml,
ets_env.xml, fms_env.xml, nx_env.xml, catia_env.xml, catiav4_env.xml,
proe_env.xml, simpgen_env.xml, mmvindexgen_preference.xml.
DISPATCHER_CLIENT_INSTALLED=truedoes not mean Dispatcher is running. It is a Teamcenter-side preference that makes the UI offer translation. A Scheduler and Module still have to exist, be reachable, and advertise the service. Verify the preference and the processes separately.
Throttling, decided up front
| Control | Scope | Default |
|---|---|---|
MaximumTasks (transmodule.properties) |
One Module, all services | 3 |
MaxLimit in TaskConfiguration.xml |
One provider+service, all Modules | unset |
setMaxLimit() on a translator |
One translator on one Module | per translator |
NumTasksToSubmitToModule (transscheduler.properties) |
Batch size before round-robining | 3 |
CpuUsageSubmitFilter |
Admission by CPU load | off; threshold 0.7 |
The watchdog, set before you run anything big
MaximumProgress=100
MonitorInterval=0.5
Product of these is the ceiling on a single translation: 50 minutes by default.
Raise MaximumProgress if your jobs are legitimately longer. Leave it too high
and a genuinely hung process blocks a slot until it is killed manually.
Smoke-test order
Test in this order and each failure is unambiguous:
- Run the translator script standalone from a command prompt on the Module
host. Proves the executable, its licenses, and every
CHANGE_ME. - Submit via AdminClient batch XML (
runBatch.bat). Proves Scheduler ↔ Module RMI, staging, andisactive. Teamcenter is not involved. - Submit from the rich client Translate menu. Proves the
ETS.*preferences and the Translation Selection dialog. - Check the result object in Teamcenter. Proves
TaskPrep,DatabaseOperation, and the extract/load preferences.
Skipping to step 3 is the standard mistake. When it fails you have four subsystems to bisect instead of one.
Source: Shipped SDK config files; admin guide chs. 2-5 · retrieved 2026-08-03