Appearance
Legacy Deployment
End of life
The war artifact was last published at version 8.0.0. There is no 9.0 or later release of direct-msg-monitor-web, because the reference implementation retired Apache Tomcat as of the 9.0 release. This page exists for HISPs still running an 8.0.0-or-earlier deployment and planning a migration. New deployments should use the Cloud Native Deployment.
In the legacy model the monitor is packaged as a war, direct-msg-monitor-web-<version>.war, and deployed into a J2EE servlet container. In the pre-9.0 BareMetal assembly that container is the bundled Apache Tomcat instance, which also hosts the configuration service, the configuration UI, and XD. The wider legacy HISP topology is described in the Legacy HISP Deployment Model of the BareMetal Assembly Project.
Deployment
Drop the war into the container's deployment directory. The application context is whatever the container assigns — typically the war file name — so the monitor's URLs are determined by the deployer rather than by the application.
To confirm the deployment came up, request the health page:
http://<server>:<port>/<application context>/healthA running service returns a simple HTML page confirming it is up.
Configuration
Configuration lives in a properties file named bootstrap.properties, found under the deployed application's WEB-INF/classes directory. Edit it in place and restart the container. Unlike the cloud native model there is no externalized configuration source, no config server, and no environment-variable overriding.
The property names themselves are largely the same as in the cloud native model — the aggregation timeouts, the DSN generator content, and the recovery and retry settings are all read under the same direct.msgmonitor.* keys. The Configuration Reference marks which properties are cloud-native only.
Two differences matter in practice:
- DSN delivery is always over SMTP. The broker-based DSN sender (
direct.msgmonitor.dsnSender.useStreamsSender) does not apply. Generated failure notifications are sent to the SMTP gateway named bydirect.msgmonitor.dsnSender.gatewayURL. - Tracked messages arrive only over REST. The gateway and the security and trust agent post to the monitor's
/txsendpoint through the monitor client library. There is no broker ingest.
The default database is a local Derby instance:
spring.datasource.url=jdbc:derby:msgmonitor;create=true
spring.datasource.username=nhind
spring.datasource.password=nhindDerby is file based and allows only one process to open the database at a time, so it rules out running more than one instance. See Deployment Considerations for moving to a shared RDBMS.
Migrating to the Cloud Native Model
The monitor is one of the easier components to move, because its behavior, its property names, and its database schema are unchanged. In outline:
- Keep the database. The schema is the same, and the entity mappings generate it automatically. Point the new service at the existing database and in-flight aggregations carry over.
- Swap the artifact. Replace the war and its container with
direct-msg-monitor-sboot-<version>.jarrun as a plain Java process. - Move
bootstrap.propertiesintoapplication.yml. Thedirect.msgmonitor.*keys transfer as-is;spring.datasource.*becomes the YAML equivalent. - Decide how DSNs leave. The cloud native default publishes generated DSNs to the broker rather than sending them over SMTP. To preserve the legacy behavior exactly, set
direct.msgmonitor.dsnSender.useSMTPGatewaySender: trueanddirect.msgmonitor.dsnSender.useStreamsSender: false, keeping your existinggatewayURL. Otherwise leave the streams sender on and let the security and trust agent relay them. - Repoint the callers. Update
direct.msgmonitor.service.urlon the security and trust agent and James to the new host and port — the monitor defaults to8081rather than the container's port and application context.
See Cloud Native Deployment for the full target-state instructions.
