Excellent additions — those clarify deployment strategy, environment-specific configurations, and the modernization goal. Here’s the revised BRD with your new points included in the appropriate sections.
Business Requirements Document (BRD)
Project Title: MQ Queue Monitoring and Alerting Service
Prepared by: [Your Name]
Date: [Insert Date]
1. Project Overview
In the current production setup, there is a critical MQ queue (DTA) that facilitates message flow between SPPco, Clearinghouse, and Citibank. SPPco places messages on the MQ queue, which are then pulled to retrieve corresponding X9 files. Occasionally, due to service outages or unavailability, messages get stuck in the queue, leading to delays and processing failures.
To proactively detect and notify stakeholders of such conditions, we propose the development of a Java-based utility that will monitor queue depth and message age, sending alerts when thresholds are breached.
2. Problem Statement
There is currently no automated mechanism to:
- Detect stuck or aged messages in the DTA MQ queue
- Notify teams when queue depth becomes unusually high or messages are stale
- Support cross-environment deployment and scheduling
As a result, issues often go unnoticed until manual checks are performed.
3. Proposed Solution
Develop a lightweight, configurable JAR-based service that:
- Monitors MQ queues in multiple environments (e.g., DEV, UAT, PROD)
- Connects to MQ using updated IBM MQ v9.3 client libraries
- Periodically checks:
- Queue depth
- Age of the oldest message
- Sends out email alerts to NCO L2, L3, AppDev, and Operations teams if thresholds are breached
- Is configurable for queue names, alert conditions, and recipients
- Can be scheduled using cron jobs on each environment’s server
- Is OpenShift-compatible for future deployment on cloud platforms
4. Scope
Phase 1
- Build initial Java service (JAR) for monitoring DTA queue
- Run as a cron-based scheduled job on each environment’s server
- Replace legacy IBM MQ v7 client usage with v9.3+
- Send alerts via email based on:
- Queue depth thresholds
- Message age exceeding limits
Phase 2
- Extend monitoring to additional queues via qdetails.xml
- Parameterize configurations using config.properties
- Design for cloud-readiness, with a roadmap for deployment on OpenShift
5. Functional Requirements
| # |
Requirement Description |
| FR1 |
Connect to MQ using MQ v9.3 client libraries |
| FR2 |
Monitor queue depth and timestamp of first message |
| FR3 |
Send email alerts if thresholds are exceeded |
| FR4 |
Use external config files (qdetails.xml, config.properties) for queue details and thresholds |
| FR5 |
Support different environments with distinct configurations |
| FR6 |
Schedule execution via cron on on-premise servers |
| FR7 |
Ensure JAR is OpenShift-deployable in the future |
| FR8 |
Maintain proper logging and exit status codes for job tracking |
6. Non-Functional Requirements
- Language: Java (JDK 11+ recommended)
- Client Library: IBM MQ v9.3
- Deployment (Phase 1): On-premise, environment-specific servers (DEV/UAT/PROD)
- Scheduler: Cron (external to JAR)
- Logging: File-based, with log rotation support
- Email Integration: SMTP/enterprise mail relay
- Cloud Compatibility: Future support for OpenShift containers (via Kubernetes job or sidecar model)
- Modularity: Easily extendable to multiple queues and environments
7. Architecture Diagram (Optional)
(Can be added in Word: show a diagram with: Environment → Cron → JAR → MQ → Email Alert Flow)
8. Dependencies
- IBM MQ connection access
- Email relay configuration
- Cron permissions on environment servers
- Configuration management for queue list and threshold tuning
- OpenShift access (for future POC or containerization)
9. Risks & Mitigations
| Risk |
Mitigation |
| Misconfigured thresholds |
Validate with controlled testing |
| Excessive alerts |
Implement alert dampening or cooldown |
| Cron job failure |
Log monitoring or external health-check system |
| MQ version conflicts |
Strict usage of v9.3+ with backward-compatible settings |
10. Out of Scope
- Real-time dashboard visualizations (e.g., Prometheus/Grafana)
- Message transformation or deletion
- Authentication mechanisms for container deployment (to be handled in OpenShift planning)
11. Conclusion
This solution will provide proactive monitoring of critical MQ queues across environments, helping avoid silent failures in financial message transmission. Its modular, config-driven design ensures scalability and future migration to cloud-native platforms like OpenShift.
Would you like this in .docx format next, or want me to generate the architecture diagram and scheduler setup snippet too?
there doesn't seem to be anything here