1. import java.util.HashMap;
  2. import java.util.Map;
  3. public class MessageQueueDiagnostics {
  4. private Map<String, Integer> queueErrors = new HashMap<>(); // Queue name -> Error count
  5. public void addError(String queueName) {
  6. queueErrors.put(queueName, queueErrors.getOrDefault(queueName, 0) + 1);
  7. }
  8. public Map<String, Integer> getQueueErrors() {
  9. return new HashMap<>(queueErrors); // Return a copy to prevent external modification
  10. }
  11. public void printDiagnostics() {
  12. if (queueErrors.isEmpty()) {
  13. System.out.println("No queue errors detected.");
  14. return;
  15. }
  16. System.out.println("Queue Error Diagnostics:");
  17. for (Map.Entry<String, Integer> entry : queueErrors.entrySet()) {
  18. System.out.println(" " + entry.getKey() + ": " + entry.getValue() + " errors");
  19. }
  20. }
  21. public static void main(String[] args) {
  22. MessageQueueDiagnostics diagnostics = new MessageQueueDiagnostics();
  23. // Simulate some errors
  24. diagnostics.addError("queue1");
  25. diagnostics.addError("queue2");
  26. diagnostics.addError("queue1");
  27. diagnostics.addError("queue3");
  28. diagnostics.printDiagnostics();
  29. Map<String, Integer> errors = diagnostics.getQueueErrors();
  30. System.out.println("\nError counts: " + errors);
  31. }
  32. }

Add your comment